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
a1998410
Commit
a1998410
authored
Dec 30, 2009
by
charras
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Some enhancements and fixes. (see changelog)
parent
cacb2225
Changes
18
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
500 additions
and
307 deletions
+500
-307
CHANGELOG.txt
CHANGELOG.txt
+9
-0
drawpanel.cpp
common/drawpanel.cpp
+2
-2
gr_basic.cpp
common/gr_basic.cpp
+63
-51
class_libentry.cpp
eeschema/class_libentry.cpp
+2
-2
class_libentry_fields.h
eeschema/class_libentry_fields.h
+8
-1
class_sch_cmp_field.h
eeschema/class_sch_cmp_field.h
+8
-0
class_sch_component.cpp
eeschema/class_sch_component.cpp
+32
-21
class_sch_component.h
eeschema/class_sch_component.h
+7
-0
general.h
eeschema/general.h
+0
-2
locate.cpp
eeschema/locate.cpp
+8
-1
program.h
eeschema/program.h
+3
-3
files.cpp
gerbview/files.cpp
+8
-3
base_struct.h
include/base_struct.h
+7
-7
gr_basic.h
include/gr_basic.h
+8
-9
kicad.mo
internat/fr/kicad.mo
+0
-0
kicad.po
internat/fr/kicad.po
+126
-112
treeprj_frame.cpp
kicad/treeprj_frame.cpp
+5
-2
pcbplot.cpp
pcbnew/pcbplot.cpp
+204
-91
No files found.
CHANGELOG.txt
View file @
a1998410
...
@@ -4,6 +4,15 @@ KiCad ChangeLog 2009
...
@@ -4,6 +4,15 @@ KiCad ChangeLog 2009
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.
2009-Dec-30 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr>
================================================================================
++pcbnew
Added option to use some usual Gerber files extension, depending on the layer
Do not allow in plot menu to output files for non enabled layers.
++Kicad and Gerbview
Display Gerber files that use usual files extension (in tree project or dialog files)
(See http://en.wikipedia.org/wiki/Gerber_File)
2009-Dec-20 UPDATE Dick Hollenbeck <dick@softplc.com>
2009-Dec-20 UPDATE Dick Hollenbeck <dick@softplc.com>
================================================================================
================================================================================
++pcbnew
++pcbnew
...
...
common/drawpanel.cpp
View file @
a1998410
...
@@ -521,7 +521,7 @@ void WinEDA_DrawPanel::EraseScreen( wxDC* DC )
...
@@ -521,7 +521,7 @@ void WinEDA_DrawPanel::EraseScreen( wxDC* DC )
#ifndef WX_ZOOM
#ifndef WX_ZOOM
GRSFilledRect
(
&
m_ClipBox
,
DC
,
m_ClipBox
.
GetX
(),
m_ClipBox
.
GetY
(),
GRSFilledRect
(
&
m_ClipBox
,
DC
,
m_ClipBox
.
GetX
(),
m_ClipBox
.
GetY
(),
m_ClipBox
.
GetRight
(),
m_ClipBox
.
GetBottom
(),
m_ClipBox
.
GetRight
(),
m_ClipBox
.
GetBottom
(),
g_DrawBgColor
,
g_DrawBgColor
);
0
,
g_DrawBgColor
,
g_DrawBgColor
);
#else
#else
EDA_Rect
tmp
=
m_ClipBox
;
EDA_Rect
tmp
=
m_ClipBox
;
...
@@ -534,7 +534,7 @@ void WinEDA_DrawPanel::EraseScreen( wxDC* DC )
...
@@ -534,7 +534,7 @@ void WinEDA_DrawPanel::EraseScreen( wxDC* DC )
GRSFilledRect
(
&
m_ClipBox
,
DC
,
m_ClipBox
.
GetX
(),
m_ClipBox
.
GetY
(),
GRSFilledRect
(
&
m_ClipBox
,
DC
,
m_ClipBox
.
GetX
(),
m_ClipBox
.
GetY
(),
m_ClipBox
.
GetRight
(),
m_ClipBox
.
GetBottom
(),
m_ClipBox
.
GetRight
(),
m_ClipBox
.
GetBottom
(),
g_DrawBgColor
,
g_DrawBgColor
);
0
,
g_DrawBgColor
,
g_DrawBgColor
);
m_ClipBox
=
tmp
;
m_ClipBox
=
tmp
;
#endif
#endif
...
...
common/gr_basic.cpp
View file @
a1998410
...
@@ -60,15 +60,22 @@ static int PenMinWidth = 1; /* minimum pen width (must be> 0)
...
@@ -60,15 +60,22 @@ static int PenMinWidth = 1; /* minimum pen width (must be> 0)
* (Useful for printing) */
* (Useful for printing) */
static
bool
ForceBlackPen
;
/* if true: draws in black instead of
static
bool
ForceBlackPen
;
/* if true: draws in black instead of
* color for printing. */
* color for printing. */
static
int
xcliplo
=
0
,
static
int
xcliplo
=
0
,
ycliplo
=
0
,
ycliplo
=
0
,
xcliphi
=
2000
,
xcliphi
=
2000
,
ycliphi
=
2000
;
ycliphi
=
2000
;
static
int
lastcolor
=
-
1
;
static
int
lastcolor
=
-
1
;
static
int
lastwidth
=
-
1
;
static
int
lastwidth
=
-
1
;
static
int
s_Last_Pen_Style
=
-
1
;
static
int
s_Last_Pen_Style
=
-
1
;
static
wxDC
*
lastDC
=
NULL
;
static
wxDC
*
lastDC
=
NULL
;
/* Local functions: */
static
void
GRSRect
(
EDA_Rect
*
ClipBox
,
wxDC
*
DC
,
int
x1
,
int
y1
,
int
x2
,
int
y2
,
int
Color
);
static
void
GRSRect
(
EDA_Rect
*
ClipBox
,
wxDC
*
DC
,
int
x1
,
int
y1
,
int
x2
,
int
y2
,
int
width
,
int
Color
);
/*
/*
* Macro clipping the trace of a line:
* Macro clipping the trace of a line:
* Line (x1, y1 x2, y2) is clipped to remain within
* Line (x1, y1 x2, y2) is clipped to remain within
...
@@ -362,9 +369,13 @@ void GRSetDrawMode( wxDC* DC, int draw_mode )
...
@@ -362,9 +369,13 @@ void GRSetDrawMode( wxDC* DC, int draw_mode )
if
(
draw_mode
&
GR_OR
)
if
(
draw_mode
&
GR_OR
)
#if defined(__WXMAC__) && (wxMAC_USE_CORE_GRAPHICS || wxCHECK_VERSION( 2, 9, 0 ) )
#if defined(__WXMAC__) && (wxMAC_USE_CORE_GRAPHICS || wxCHECK_VERSION( 2, 9, 0 ) )
DC
->
SetLogicalFunction
(
wxCOPY
);
DC
->
SetLogicalFunction
(
wxCOPY
);
#else
#else
DC
->
SetLogicalFunction
(
wxOR
);
DC
->
SetLogicalFunction
(
wxOR
);
#endif
#endif
else
if
(
draw_mode
&
GR_XOR
)
else
if
(
draw_mode
&
GR_XOR
)
...
@@ -372,9 +383,13 @@ void GRSetDrawMode( wxDC* DC, int draw_mode )
...
@@ -372,9 +383,13 @@ void GRSetDrawMode( wxDC* DC, int draw_mode )
else
if
(
draw_mode
&
GR_NXOR
)
else
if
(
draw_mode
&
GR_NXOR
)
#if defined(__WXMAC__) && (wxMAC_USE_CORE_GRAPHICS || wxCHECK_VERSION( 2, 9, 0 ) )
#if defined(__WXMAC__) && (wxMAC_USE_CORE_GRAPHICS || wxCHECK_VERSION( 2, 9, 0 ) )
DC
->
SetLogicalFunction
(
wxXOR
);
DC
->
SetLogicalFunction
(
wxXOR
);
#else
#else
DC
->
SetLogicalFunction
(
wxEQUIV
);
DC
->
SetLogicalFunction
(
wxEQUIV
);
#endif
#endif
else
else
...
@@ -1397,7 +1412,7 @@ void GRArc( EDA_Rect* ClipBox, wxDC* DC, int xc, int yc, int StAngle,
...
@@ -1397,7 +1412,7 @@ void GRArc( EDA_Rect* ClipBox, wxDC* DC, int xc, int yc, int StAngle,
GRSetColorPen
(
DC
,
Color
);
GRSetColorPen
(
DC
,
Color
);
GRSetBrush
(
DC
,
Color
,
FALSE
);
GRSetBrush
(
DC
,
Color
,
FALSE
);
DC
->
DrawArc
(
GRMapX
(
xc
+
x1
),
GRMapY
(
yc
-
y1
),
GRMapX
(
xc
+
x2
),
DC
->
DrawArc
(
GRMapX
(
xc
+
x1
),
GRMapY
(
yc
-
y1
),
GRMapX
(
xc
+
x2
),
GRMapY
(
yc
-
y2
),
GRMapX
(
xc
),
GRMapY
(
yc
)
);
GRMapY
(
yc
-
y2
),
GRMapX
(
xc
),
GRMapY
(
yc
)
);
}
}
...
@@ -1422,13 +1437,9 @@ void GRArc( EDA_Rect* ClipBox,
...
@@ -1422,13 +1437,9 @@ void GRArc( EDA_Rect* ClipBox,
/*
/*
* Draw a rectangle in drawing space.
* Draw a rectangle in drawing space.
*/
*/
void
GRRect
(
EDA_Rect
*
ClipBox
,
void
GRRect
(
EDA_Rect
*
ClipBox
,
wxDC
*
DC
,
wxDC
*
DC
,
int
x1
,
int
y1
,
int
x2
,
int
y2
,
int
x1
,
int
Color
)
int
y1
,
int
x2
,
int
y2
,
int
Color
)
{
{
x1
=
GRMapX
(
x1
);
x1
=
GRMapX
(
x1
);
y1
=
GRMapY
(
y1
);
y1
=
GRMapY
(
y1
);
...
@@ -1438,18 +1449,25 @@ void GRRect( EDA_Rect* ClipBox,
...
@@ -1438,18 +1449,25 @@ void GRRect( EDA_Rect* ClipBox,
GRSRect
(
ClipBox
,
DC
,
x1
,
y1
,
x2
,
y2
,
Color
);
GRSRect
(
ClipBox
,
DC
,
x1
,
y1
,
x2
,
y2
,
Color
);
}
}
void
GRRect
(
EDA_Rect
*
aClipBox
,
wxDC
*
aDC
,
const
EDA_Rect
&
aRect
,
int
aColor
)
{
int
x1
=
GRMapX
(
aRect
.
GetX
()
);
int
y1
=
GRMapY
(
aRect
.
GetY
()
);
int
x2
=
GRMapX
(
aRect
.
GetRight
()
);
int
y2
=
GRMapY
(
aRect
.
GetBottom
()
);
GRSRect
(
aClipBox
,
aDC
,
x1
,
y1
,
x2
,
y2
,
aColor
);
}
/*
/*
* Draw a rectangle in drawing space.
* Draw a rectangle
(thick lines)
in drawing space.
*/
*/
void
GRRect
(
EDA_Rect
*
ClipBox
,
void
GRRect
(
EDA_Rect
*
ClipBox
,
wxDC
*
DC
,
wxDC
*
DC
,
int
x1
,
int
y1
,
int
x2
,
int
y2
,
int
x1
,
int
width
,
int
Color
)
int
y1
,
int
x2
,
int
y2
,
int
width
,
int
Color
)
{
{
x1
=
GRMapX
(
x1
);
x1
=
GRMapX
(
x1
);
y1
=
GRMapY
(
y1
);
y1
=
GRMapY
(
y1
);
...
@@ -1460,6 +1478,20 @@ void GRRect( EDA_Rect* ClipBox,
...
@@ -1460,6 +1478,20 @@ void GRRect( EDA_Rect* ClipBox,
GRSRect
(
ClipBox
,
DC
,
x1
,
y1
,
x2
,
y2
,
width
,
Color
);
GRSRect
(
ClipBox
,
DC
,
x1
,
y1
,
x2
,
y2
,
width
,
Color
);
}
}
void
GRRect
(
EDA_Rect
*
aClipBox
,
wxDC
*
aDC
,
const
EDA_Rect
&
aRect
,
int
aWidth
,
int
aColor
)
{
int
x1
=
GRMapX
(
aRect
.
GetX
()
);
int
y1
=
GRMapY
(
aRect
.
GetY
()
);
int
x2
=
GRMapX
(
aRect
.
GetRight
()
);
int
y2
=
GRMapY
(
aRect
.
GetBottom
()
);
int
width
=
ZoomValue
(
aWidth
);
GRSRect
(
aClipBox
,
aDC
,
x1
,
y1
,
x2
,
y2
,
width
,
aColor
);
}
/*
/*
* Draw a rectangle (filled with AreaColor) in drawing space.
* Draw a rectangle (filled with AreaColor) in drawing space.
...
@@ -1543,31 +1575,10 @@ void GRSRect( EDA_Rect* ClipBox, wxDC* DC, int x1, int y1, int x2, int y2,
...
@@ -1543,31 +1575,10 @@ void GRSRect( EDA_Rect* ClipBox, wxDC* DC, int x1, int y1, int x2, int y2,
}
}
/*
* Draw a filled rectangle in screen space.
*/
void
GRSFilledRect
(
EDA_Rect
*
ClipBox
,
wxDC
*
DC
,
int
x1
,
int
y1
,
int
x2
,
int
y2
,
int
Color
,
int
BgColor
)
{
GRSFilledRect
(
ClipBox
,
DC
,
x1
,
y1
,
x2
,
y2
,
0
,
Color
,
BgColor
);
}
void
GRSFilledRect
(
EDA_Rect
*
ClipBox
,
void
GRSFilledRect
(
EDA_Rect
*
ClipBox
,
wxDC
*
DC
,
wxDC
*
DC
,
int
x1
,
int
y1
,
int
x2
,
int
y2
,
int
x1
,
int
width
,
int
Color
,
int
BgColor
)
int
y1
,
int
x2
,
int
y2
,
int
width
,
int
Color
,
int
BgColor
)
{
{
if
(
x1
>
x2
)
if
(
x1
>
x2
)
EXCHG
(
x1
,
x2
);
EXCHG
(
x1
,
x2
);
...
@@ -1635,11 +1646,11 @@ void ClipAndDrawFilledPoly( EDA_Rect* aClipBox,
...
@@ -1635,11 +1646,11 @@ void ClipAndDrawFilledPoly( EDA_Rect* aClipBox,
clippedPolygon
.
clear
();
clippedPolygon
.
clear
();
for
(
int
ii
=
0
;
ii
<
n
;
ii
++
)
for
(
int
ii
=
0
;
ii
<
n
;
ii
++
)
inputPolygon
.
push_back
(
PointF
(
(
REAL
)
aPoints
[
ii
].
x
,
inputPolygon
.
push_back
(
PointF
(
(
REAL
)
aPoints
[
ii
].
x
,
(
REAL
)
aPoints
[
ii
].
y
)
);
(
REAL
)
aPoints
[
ii
].
y
)
);
RectF
window
(
(
REAL
)
aClipBox
->
GetX
(),
(
REAL
)
aClipBox
->
GetY
(),
RectF
window
(
(
REAL
)
aClipBox
->
GetX
(),
(
REAL
)
aClipBox
->
GetY
(),
(
REAL
)
aClipBox
->
GetWidth
(),
(
REAL
)
aClipBox
->
GetWidth
(),
(
REAL
)
aClipBox
->
GetHeight
()
);
(
REAL
)
aClipBox
->
GetHeight
()
);
SutherlandHodgman
sh
(
window
);
SutherlandHodgman
sh
(
window
);
sh
.
Clip
(
inputPolygon
,
outputPolygon
);
sh
.
Clip
(
inputPolygon
,
outputPolygon
);
...
@@ -1649,13 +1660,14 @@ void ClipAndDrawFilledPoly( EDA_Rect* aClipBox,
...
@@ -1649,13 +1660,14 @@ void ClipAndDrawFilledPoly( EDA_Rect* aClipBox,
++
cit
)
++
cit
)
{
{
clippedPolygon
.
push_back
(
wxPoint
(
wxRound
(
cit
->
X
),
clippedPolygon
.
push_back
(
wxPoint
(
wxRound
(
cit
->
X
),
wxRound
(
cit
->
Y
)
)
);
wxRound
(
cit
->
Y
)
)
);
}
}
if
(
clippedPolygon
.
size
()
)
if
(
clippedPolygon
.
size
()
)
aDC
->
DrawPolygon
(
clippedPolygon
.
size
(),
&
clippedPolygon
[
0
]
);
aDC
->
DrawPolygon
(
clippedPolygon
.
size
(),
&
clippedPolygon
[
0
]
);
}
}
#endif
#endif
...
...
eeschema/class_libentry.cpp
View file @
a1998410
...
@@ -451,7 +451,7 @@ bool LIB_COMPONENT::Save( FILE* aFile )
...
@@ -451,7 +451,7 @@ bool LIB_COMPONENT::Save( FILE* aFile )
if
(
fprintf
(
aFile
,
"DEF"
)
<
0
)
if
(
fprintf
(
aFile
,
"DEF"
)
<
0
)
return
false
;
return
false
;
if
(
(
value
.
m_Attributs
&
TEXT_NO_VISIBLE
)
==
0
)
if
(
value
.
IsVisible
()
)
{
{
if
(
fprintf
(
aFile
,
" %s"
,
CONV_TO_UTF8
(
value
.
m_Text
)
)
<
0
)
if
(
fprintf
(
aFile
,
" %s"
,
CONV_TO_UTF8
(
value
.
m_Text
)
)
<
0
)
return
false
;
return
false
;
...
@@ -859,7 +859,7 @@ EDA_Rect LIB_COMPONENT::GetBoundaryBox( int aUnit, int aConvert )
...
@@ -859,7 +859,7 @@ EDA_Rect LIB_COMPONENT::GetBoundaryBox( int aUnit, int aConvert )
continue
;
continue
;
if
(
(
item
.
Type
()
==
COMPONENT_FIELD_DRAW_TYPE
)
if
(
(
item
.
Type
()
==
COMPONENT_FIELD_DRAW_TYPE
)
&&
(
(
(
LIB_TEXT
&
)
item
).
m_Attributs
&
TEXT_NO_VISIBLE
)
)
&&
!
(
(
LIB_FIELD
&
)
item
).
IsVisible
(
)
)
continue
;
continue
;
bBox
.
Merge
(
item
.
GetBoundingBox
()
);
bBox
.
Merge
(
item
.
GetBoundingBox
()
);
...
...
eeschema/class_libentry_fields.h
View file @
a1998410
...
@@ -84,9 +84,16 @@ public:
...
@@ -84,9 +84,16 @@ public:
int
aColor
,
int
aDrawMode
,
void
*
aData
,
int
aColor
,
int
aDrawMode
,
void
*
aData
,
const
int
aTransformMatrix
[
2
][
2
]
);
const
int
aTransformMatrix
[
2
][
2
]
);
/** Function IsVisible
* @return true is this field is visible, false if flagged invisible
*/
bool
IsVisible
()
{
return
(
m_Attributs
&
TEXT_NO_VISIBLE
)
==
0
?
true
:
false
;
}
/**
/**
* Return the bounding rectangle of the field text.
* Return the bounding rectangle of the field text.
*
* @return Bounding rectangle.
* @return Bounding rectangle.
*/
*/
virtual
EDA_Rect
GetBoundingBox
();
virtual
EDA_Rect
GetBoundingBox
();
...
...
eeschema/class_sch_cmp_field.h
View file @
a1998410
...
@@ -67,6 +67,14 @@ public:
...
@@ -67,6 +67,14 @@ public:
*/
*/
int
GetPenSize
(
);
int
GetPenSize
(
);
/** Function IsVisible
* @return true is this field is visible, false if flagged invisible
*/
bool
IsVisible
()
{
return
(
m_Attributs
&
TEXT_NO_VISIBLE
)
==
0
?
true
:
false
;
}
/**
/**
* Function Draw
* Function Draw
*/
*/
...
...
eeschema/class_sch_component.cpp
View file @
a1998410
...
@@ -205,8 +205,7 @@ void SCH_COMPONENT::Draw( WinEDA_DrawPanel* panel, wxDC* DC,
...
@@ -205,8 +205,7 @@ void SCH_COMPONENT::Draw( WinEDA_DrawPanel* panel, wxDC* DC,
SCH_FIELD
*
field
=
GetField
(
REFERENCE
);
SCH_FIELD
*
field
=
GetField
(
REFERENCE
);
if
(
(
(
field
->
m_Attributs
&
TEXT_NO_VISIBLE
)
==
0
)
if
(
field
->
IsVisible
()
&&
!
(
field
->
m_Flags
&
IS_MOVED
)
)
&&
!
(
field
->
m_Flags
&
IS_MOVED
)
)
{
{
if
(
Entry
->
GetPartCount
()
>
1
)
if
(
Entry
->
GetPartCount
()
>
1
)
{
{
...
@@ -236,23 +235,20 @@ void SCH_COMPONENT::Draw( WinEDA_DrawPanel* panel, wxDC* DC,
...
@@ -236,23 +235,20 @@ void SCH_COMPONENT::Draw( WinEDA_DrawPanel* panel, wxDC* DC,
{
{
EDA_Rect BoundaryBox;
EDA_Rect BoundaryBox;
BoundaryBox = GetBoundaryBox();
BoundaryBox = GetBoundaryBox();
int x1 = BoundaryBox.GetX();
GRRect( &panel->m_ClipBox, DC, BoundaryBox, BROWN );
int y1 = BoundaryBox.GetY();
#if 1
int x2 = BoundaryBox.GetRight();
if( GetField( REFERENCE )->IsVisible() )
int y2 = BoundaryBox.GetBottom();
{
GRRect( &panel->m_ClipBox, DC, x1, y1, x2, y2, BROWN );
BoundaryBox = GetField( REFERENCE )->GetBoundaryBox();
BoundaryBox = GetField( REFERENCE )->GetBoundaryBox();
GRRect( &panel->m_ClipBox, DC, BoundaryBox, BROWN );
x1 = BoundaryBox.GetX();
}
y1 = BoundaryBox.GetY();
x2 = BoundaryBox.GetRight();
if( GetField( VALUE )->IsVisible() )
y2 = BoundaryBox.GetBottom();
{
GRRect( &panel->m_ClipBox, DC, x1, y1, x2, y2, BROWN );
BoundaryBox = GetField( VALUE )->GetBoundaryBox();
BoundaryBox = GetField( VALUE )->GetBoundaryBox();
GRRect( &panel->m_ClipBox, DC, BoundaryBox, BROWN );
x1 = BoundaryBox.GetX();
}
y1 = BoundaryBox.GetY();
#endif
x2 = BoundaryBox.GetRight();
y2 = BoundaryBox.GetBottom();
GRRect( &panel->m_ClipBox, DC, x1, y1, x2, y2, BROWN );
}
}
#endif
#endif
}
}
...
@@ -530,7 +526,13 @@ LIB_PIN* SCH_COMPONENT::GetPin( const wxString& number )
...
@@ -530,7 +526,13 @@ LIB_PIN* SCH_COMPONENT::GetPin( const wxString& number )
return
Entry
->
GetPin
(
number
,
m_Multi
,
m_Convert
);
return
Entry
->
GetPin
(
number
,
m_Multi
,
m_Convert
);
}
}
/**
* Function GetBoundaryBox
* returns the orthogonal, bounding box of this object for display purposes.
* This box should be an enclosing perimeter for graphic items and pins.
* this include only fields defined in library
* use GetBoundingBox() to include fields in schematic
*/
EDA_Rect
SCH_COMPONENT
::
GetBoundaryBox
()
const
EDA_Rect
SCH_COMPONENT
::
GetBoundaryBox
()
const
{
{
LIB_COMPONENT
*
Entry
=
CMP_LIBRARY
::
FindLibraryComponent
(
m_ChipName
);
LIB_COMPONENT
*
Entry
=
CMP_LIBRARY
::
FindLibraryComponent
(
m_ChipName
);
...
@@ -1064,6 +1066,13 @@ bool SCH_COMPONENT::Save( FILE* f ) const
...
@@ -1064,6 +1066,13 @@ bool SCH_COMPONENT::Save( FILE* f ) const
}
}
/**
* Function GetBoundingBox
* returns the orthogonal, bounding box of this object for display purposes.
* This box should be an enclosing perimeter for visible components of this
* object, and the units should be in the pcb or schematic coordinate system.
* It is OK to overestimate the size by a few counts.
*/
EDA_Rect
SCH_COMPONENT
::
GetBoundingBox
()
EDA_Rect
SCH_COMPONENT
::
GetBoundingBox
()
{
{
const
int
PADDING
=
40
;
const
int
PADDING
=
40
;
...
@@ -1074,11 +1083,13 @@ EDA_Rect SCH_COMPONENT::GetBoundingBox()
...
@@ -1074,11 +1083,13 @@ EDA_Rect SCH_COMPONENT::GetBoundingBox()
// Include BoundingBoxes of fields
// Include BoundingBoxes of fields
for
(
int
ii
=
0
;
ii
<
GetFieldCount
();
ii
++
)
for
(
int
ii
=
0
;
ii
<
GetFieldCount
();
ii
++
)
{
{
if
(
!
GetField
(
ii
)
->
IsVisible
()
)
continue
;
bbox
.
Merge
(
GetField
(
ii
)
->
GetBoundaryBox
()
);
bbox
.
Merge
(
GetField
(
ii
)
->
GetBoundaryBox
()
);
}
}
// ... add padding
// ... add padding
bbox
.
Inflate
(
PADDING
,
PADDING
);
bbox
.
Inflate
(
PADDING
);
return
bbox
;
return
bbox
;
}
}
...
...
eeschema/class_sch_component.h
View file @
a1998410
...
@@ -209,6 +209,13 @@ public:
...
@@ -209,6 +209,13 @@ public:
*/
*/
void
SetTimeStamp
(
long
aNewTimeStamp
);
void
SetTimeStamp
(
long
aNewTimeStamp
);
/**
* Function GetBoundaryBox
* returns the orthogonal, bounding box of this object for display purposes.
* This box should be an enclosing perimeter for graphic items and pins.
* this include only fields defined in library
* use GetBoundingBox() to include fields in schematic
*/
EDA_Rect
GetBoundaryBox
()
const
;
EDA_Rect
GetBoundaryBox
()
const
;
/**
/**
...
...
eeschema/general.h
View file @
a1998410
...
@@ -22,8 +22,6 @@
...
@@ -22,8 +22,6 @@
/* Used for EDA_BaseStruct, .m_Select member */
/* Used for EDA_BaseStruct, .m_Select member */
#define IS_SELECTED 1
#define IS_SELECTED 1
#define TEXT_NO_VISIBLE 1
//#define GR_DEFAULT_DRAWMODE GR_COPY
//#define GR_DEFAULT_DRAWMODE GR_COPY
#define GR_DEFAULT_DRAWMODE GR_COPY
#define GR_DEFAULT_DRAWMODE GR_COPY
...
...
eeschema/locate.cpp
View file @
a1998410
...
@@ -417,7 +417,6 @@ bool IsItemInBox( EDA_Rect& aBox, SCH_ITEM* DrawStruct )
...
@@ -417,7 +417,6 @@ bool IsItemInBox( EDA_Rect& aBox, SCH_ITEM* DrawStruct )
case
TYPE_SCH_TEXT
:
case
TYPE_SCH_TEXT
:
case
TYPE_SCH_HIERLABEL
:
case
TYPE_SCH_HIERLABEL
:
case
TYPE_SCH_GLOBALLABEL
:
case
TYPE_SCH_GLOBALLABEL
:
case
TYPE_SCH_COMPONENT
:
case
DRAW_SHEET_STRUCT_TYPE
:
case
DRAW_SHEET_STRUCT_TYPE
:
case
TYPE_SCH_MARKER
:
case
TYPE_SCH_MARKER
:
BoundaryBox
=
DrawStruct
->
GetBoundingBox
();
BoundaryBox
=
DrawStruct
->
GetBoundingBox
();
...
@@ -425,6 +424,14 @@ bool IsItemInBox( EDA_Rect& aBox, SCH_ITEM* DrawStruct )
...
@@ -425,6 +424,14 @@ bool IsItemInBox( EDA_Rect& aBox, SCH_ITEM* DrawStruct )
return
true
;
return
true
;
break
;
break
;
case
TYPE_SCH_COMPONENT
:
// Use a more restrictive area than GetBoundingBox()
// Area is restricted to the body area, excludint fields outside this area
BoundaryBox
=
((
SCH_COMPONENT
*
)
DrawStruct
)
->
GetBoundaryBox
();
if
(
aBox
.
Intersects
(
BoundaryBox
)
)
return
true
;
break
;
case
DRAW_HIERARCHICAL_PIN_SHEET_STRUCT_TYPE
:
case
DRAW_HIERARCHICAL_PIN_SHEET_STRUCT_TYPE
:
break
;
break
;
...
...
eeschema/program.h
View file @
a1998410
...
@@ -5,6 +5,9 @@
...
@@ -5,6 +5,9 @@
#ifndef PROGRAM_H
#ifndef PROGRAM_H
#define PROGRAM_H
#define PROGRAM_H
#define HIGHLIGHT_COLOR WHITE
#define TEXT_NO_VISIBLE 1
#include "wxEeschemaStruct.h"
#include "wxEeschemaStruct.h"
#include "macros.h"
#include "macros.h"
#include "base_struct.h"
#include "base_struct.h"
...
@@ -17,9 +20,6 @@
...
@@ -17,9 +20,6 @@
#include "class_text-label.h"
#include "class_text-label.h"
#include "class_schematic_items.h"
#include "class_schematic_items.h"
#define HIGHLIGHT_COLOR WHITE
#define TEXT_NO_VISIBLE 1
/* Rotation, mirror of graphic items in components bodies are handled by a
/* Rotation, mirror of graphic items in components bodies are handled by a
* transform matrix. The default matix is useful to draw lib entries with
* transform matrix. The default matix is useful to draw lib entries with
...
...
gerbview/files.cpp
View file @
a1998410
...
@@ -110,9 +110,14 @@ bool WinEDA_GerberFrame::LoadOneGerberFile( const wxString& FullFileName,
...
@@ -110,9 +110,14 @@ bool WinEDA_GerberFrame::LoadOneGerberFile( const wxString& FullFileName,
{
{
wxString
current_path
=
filename
.
GetPath
();
wxString
current_path
=
filename
.
GetPath
();
/* Standard gerber filetypes */
/* Standard gerber filetypes
filetypes
+=
_
(
"Gerber files (.gbr .gbx .lgr .ger .pho)| \
* (See http://en.wikipedia.org/wiki/Gerber_File)
.gbr;*.GBR;*.gbx;*.GBX;*.lgr;*.LGR;*.ger;*.GER;*.pho;*.PHO|"
);
* the .pho extension is the default used in Pcbnew
*/
filetypes
=
_
(
"Gerber files (.gb* .gt* .lgr .ger .pho)"
);
filetypes
<<
wxT
(
"|"
);
filetypes
+=
wxT
(
"*.gb*;*.GB*;.gt*;.GT*;.gko;.GKO;*.GPB;*.gpb;*.lgr;*.LGR;*.ger;*.GER;*.pho;*.PHO"
);
filetypes
<<
wxT
(
"|"
);
/* Special gerber filetypes */
/* Special gerber filetypes */
filetypes
+=
_
(
"Top layer (*.GTL)|*.GTL;*.gtl|"
);
filetypes
+=
_
(
"Top layer (*.GTL)|*.GTL;*.gtl|"
);
...
...
include/base_struct.h
View file @
a1998410
...
@@ -175,15 +175,15 @@ public:
...
@@ -175,15 +175,15 @@ public:
bool
Inside
(
int
x
,
int
y
)
{
return
Inside
(
wxPoint
(
x
,
y
)
);
}
bool
Inside
(
int
x
,
int
y
)
{
return
Inside
(
wxPoint
(
x
,
y
)
);
}
wxSize
GetSize
()
{
return
m_Size
;
}
wxSize
GetSize
()
{
return
m_Size
;
}
int
GetX
()
{
return
m_Pos
.
x
;
}
int
GetX
()
const
{
return
m_Pos
.
x
;
}
int
GetY
()
{
return
m_Pos
.
y
;
}
int
GetY
()
const
{
return
m_Pos
.
y
;
}
wxPoint
GetOrigin
()
{
return
m_Pos
;
}
wxPoint
GetOrigin
()
{
return
m_Pos
;
}
wxPoint
GetPosition
()
{
return
m_Pos
;
}
wxPoint
GetPosition
()
{
return
m_Pos
;
}
wxPoint
GetEnd
()
{
return
wxPoint
(
GetRight
(),
GetBottom
()
);
}
wxPoint
GetEnd
()
const
{
return
wxPoint
(
GetRight
(),
GetBottom
()
);
}
int
GetWidth
()
{
return
m_Size
.
x
;
}
int
GetWidth
()
const
{
return
m_Size
.
x
;
}
int
GetHeight
()
{
return
m_Size
.
y
;
}
int
GetHeight
()
const
{
return
m_Size
.
y
;
}
int
GetRight
()
{
return
m_Pos
.
x
+
m_Size
.
x
;
}
int
GetRight
()
const
{
return
m_Pos
.
x
+
m_Size
.
x
;
}
int
GetBottom
()
{
return
m_Pos
.
y
+
m_Size
.
y
;
}
int
GetBottom
()
const
{
return
m_Pos
.
y
+
m_Size
.
y
;
}
void
SetOrigin
(
const
wxPoint
&
pos
)
{
m_Pos
=
pos
;
}
void
SetOrigin
(
const
wxPoint
&
pos
)
{
m_Pos
=
pos
;
}
void
SetOrigin
(
int
x
,
int
y
)
{
m_Pos
.
x
=
x
;
m_Pos
.
y
=
y
;
}
void
SetOrigin
(
int
x
,
int
y
)
{
m_Pos
.
x
=
x
;
m_Pos
.
y
=
y
;
}
void
SetSize
(
const
wxSize
&
size
)
{
m_Size
=
size
;
}
void
SetSize
(
const
wxSize
&
size
)
{
m_Size
=
size
;
}
...
...
include/gr_basic.h
View file @
a1998410
...
@@ -58,6 +58,10 @@ void GRForceBlackPen( bool flagforce );
...
@@ -58,6 +58,10 @@ void GRForceBlackPen( bool flagforce );
bool
GetGRForceBlackPenState
(
void
);
bool
GetGRForceBlackPenState
(
void
);
void
SetPenMinWidth
(
int
minwidth
);
void
SetPenMinWidth
(
int
minwidth
);
void
GRSPutPixel
(
EDA_Rect
*
ClipBox
,
wxDC
*
DC
,
int
x
,
int
y
,
int
color
);
void
GRSFilledRect
(
EDA_Rect
*
ClipBox
,
wxDC
*
DC
,
int
x1
,
int
y1
,
int
x2
,
int
y2
,
int
width
,
int
Color
,
int
BgColor
);
void
GRLine
(
EDA_Rect
*
aClipBox
,
wxDC
*
aDC
,
wxPoint
aStart
,
wxPoint
aEnd
,
void
GRLine
(
EDA_Rect
*
aClipBox
,
wxDC
*
aDC
,
wxPoint
aStart
,
wxPoint
aEnd
,
int
aWidth
,
int
aColor
);
int
aWidth
,
int
aColor
);
void
GRLine
(
EDA_Rect
*
ClipBox
,
wxDC
*
DC
,
int
x1
,
int
y1
,
int
x2
,
void
GRLine
(
EDA_Rect
*
ClipBox
,
wxDC
*
DC
,
int
x1
,
int
y1
,
int
x2
,
...
@@ -205,24 +209,19 @@ void GRSetColor( int Color );
...
@@ -205,24 +209,19 @@ void GRSetColor( int Color );
void
GRSetDefaultPalette
();
void
GRSetDefaultPalette
();
int
GRGetColor
();
int
GRGetColor
();
void
GRPutPixel
(
EDA_Rect
*
ClipBox
,
wxDC
*
DC
,
int
x
,
int
y
,
int
color
);
void
GRPutPixel
(
EDA_Rect
*
ClipBox
,
wxDC
*
DC
,
int
x
,
int
y
,
int
color
);
void
GRSPutPixel
(
EDA_Rect
*
ClipBox
,
wxDC
*
DC
,
int
x
,
int
y
,
int
color
);
int
GRGetPixel
(
wxDC
*
DC
,
int
x
,
int
y
);
int
GRGetPixel
(
wxDC
*
DC
,
int
x
,
int
y
);
void
GRFilledRect
(
EDA_Rect
*
ClipBox
,
wxDC
*
DC
,
int
x1
,
int
y1
,
void
GRFilledRect
(
EDA_Rect
*
ClipBox
,
wxDC
*
DC
,
int
x1
,
int
y1
,
int
x2
,
int
y2
,
int
Color
,
int
BgColor
);
int
x2
,
int
y2
,
int
Color
,
int
BgColor
);
void
GRFilledRect
(
EDA_Rect
*
ClipBox
,
wxDC
*
DC
,
int
x1
,
int
y1
,
void
GRFilledRect
(
EDA_Rect
*
ClipBox
,
wxDC
*
DC
,
int
x1
,
int
y1
,
int
x2
,
int
y2
,
int
width
,
int
Color
,
int
BgColor
);
int
x2
,
int
y2
,
int
width
,
int
Color
,
int
BgColor
);
void
GRSFilledRect
(
EDA_Rect
*
ClipBox
,
wxDC
*
DC
,
int
x1
,
int
y1
,
int
x2
,
int
y2
,
int
Color
,
int
BgColor
);
void
GRSFilledRect
(
EDA_Rect
*
ClipBox
,
wxDC
*
DC
,
int
x1
,
int
y1
,
int
x2
,
int
y2
,
int
width
,
int
Color
,
int
BgColor
);
void
GRRect
(
EDA_Rect
*
ClipBox
,
wxDC
*
DC
,
int
x1
,
int
y1
,
void
GRRect
(
EDA_Rect
*
ClipBox
,
wxDC
*
DC
,
int
x1
,
int
y1
,
int
x2
,
int
y2
,
int
Color
);
int
x2
,
int
y2
,
int
Color
);
void
GRRect
(
EDA_Rect
*
ClipBox
,
wxDC
*
DC
,
const
EDA_Rect
&
aRect
,
int
Color
);
void
GRRect
(
EDA_Rect
*
ClipBox
,
wxDC
*
DC
,
int
x1
,
int
y1
,
void
GRRect
(
EDA_Rect
*
ClipBox
,
wxDC
*
DC
,
int
x1
,
int
y1
,
int
x2
,
int
y2
,
int
width
,
int
Color
);
int
x2
,
int
y2
,
int
width
,
int
Color
);
void
GRSRect
(
EDA_Rect
*
ClipBox
,
wxDC
*
DC
,
int
x1
,
int
y1
,
void
GRRect
(
EDA_Rect
*
aClipBox
,
wxDC
*
aDC
,
const
EDA_Rect
&
aRect
,
int
x2
,
int
y2
,
int
Color
);
int
aWidth
,
int
aColor
);
void
GRSRect
(
EDA_Rect
*
ClipBox
,
wxDC
*
DC
,
int
x1
,
int
y1
,
int
x2
,
int
y2
,
int
width
,
int
Color
);
#endif
/* define GR_BASIC */
#endif
/* define GR_BASIC */
internat/fr/kicad.mo
View file @
a1998410
No preview for this file type
internat/fr/kicad.po
View file @
a1998410
...
@@ -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: 2009-12-
29 11
:30+0100\n"
"POT-Creation-Date: 2009-12-
30 18
:30+0100\n"
"PO-Revision-Date: 2009-12-
29 11
:34+0100\n"
"PO-Revision-Date: 2009-12-
30 18
:34+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"
...
@@ -2423,236 +2423,244 @@ msgstr "&3D Visu"
...
@@ -2423,236 +2423,244 @@ msgstr "&3D Visu"
msgid "&Help"
msgid "&Help"
msgstr "&Aide"
msgstr "&Aide"
#: pcbnew/pcbplot.cpp:1
78
#: pcbnew/pcbplot.cpp:1
84
#: pcbnew/pcbplot.cpp:32
7
#: pcbnew/pcbplot.cpp:32
8
msgid "Plot"
msgid "Plot"
msgstr "Tracer"
msgstr "Tracer"
#: pcbnew/pcbplot.cpp:2
26
#: pcbnew/pcbplot.cpp:2
32
msgid "Plot Format"
msgid "Plot Format"
msgstr "Format de tracé"
msgstr "Format de tracé"
#: pcbnew/pcbplot.cpp:24
0
#: pcbnew/pcbplot.cpp:24
3
msgid "HPGL Options:"
msgid "HPGL Options:"
msgstr "Options HPGL:"
msgstr "Options HPGL:"
#: pcbnew/pcbplot.cpp:24
5
#: pcbnew/pcbplot.cpp:24
8
msgid "Pen size"
msgid "Pen size"
msgstr "Diam plume"
msgstr "Diam plume"
#: pcbnew/pcbplot.cpp:25
2
#: pcbnew/pcbplot.cpp:25
5
msgid "Pen Speed (cm/s)"
msgid "Pen Speed (cm/s)"
msgstr "Vitesse Plume ( cm/s )"
msgstr "Vitesse Plume ( cm/s )"
#: pcbnew/pcbplot.cpp:25
6
#: pcbnew/pcbplot.cpp:25
9
msgid "Set pen speed in cm/s"
msgid "Set pen speed in cm/s"
msgstr "Ajuster Vitesse plume en centimètres par seconde"
msgstr "Ajuster Vitesse plume en centimètres par seconde"
#: pcbnew/pcbplot.cpp:2
58
#: pcbnew/pcbplot.cpp:2
61
msgid "Pen ovr"
msgid "Pen ovr"
msgstr "Recouvrement"
msgstr "Recouvrement"
#: pcbnew/pcbplot.cpp:26
4
#: pcbnew/pcbplot.cpp:26
7
msgid "Set plot overlay for filling"
msgid "Set plot overlay for filling"
msgstr "Ajuste recouvrement des tracés pour les remplissages"
msgstr "Ajuste recouvrement des tracés pour les remplissages"
#: pcbnew/pcbplot.cpp:26
6
#: pcbnew/pcbplot.cpp:26
9
msgid "Line width"
msgid "Line width"
msgstr "Epaisseur ligne"
msgstr "Epaisseur ligne"
#: pcbnew/pcbplot.cpp:27
2
#: pcbnew/pcbplot.cpp:27
6
msgid "Set lines width used to plot in sketch mode and plot pads outlines on silk screen layers"
msgid "Set lines width used to plot in sketch mode and plot pads outlines on silk screen layers"
msgstr "Ajuste l'épaisseur des lignes utilisées pour tracer en mode contour et pour les contours des pads sur les couches de sérigraphie"
msgstr "Ajuste l'épaisseur des lignes utilisées pour tracer en mode contour et pour les contours des pads sur les couches de sérigraphie"
#: pcbnew/pcbplot.cpp:2
77
#: pcbnew/pcbplot.cpp:2
81
msgid "Absolute"
msgid "Absolute"
msgstr "Absolu"
msgstr "Absolu"
#: pcbnew/pcbplot.cpp:2
77
#: pcbnew/pcbplot.cpp:2
81
msgid "Auxiliary axis"
msgid "Auxiliary axis"
msgstr "Axe Auxiliaire"
msgstr "Axe Auxiliaire"
#: pcbnew/pcbplot.cpp:28
0
#: pcbnew/pcbplot.cpp:28
4
msgid "Plot Origin"
msgid "Plot Origin"
msgstr "Origine des Coord de Tracé"
msgstr "Origine des Coord de Tracé"
#: pcbnew/pcbplot.cpp:30
8
#: pcbnew/pcbplot.cpp:30
9
msgid "X scale adjust"
msgid "X scale adjust"
msgstr "Ajustage Echelle X"
msgstr "Ajustage Echelle X"
#: pcbnew/pcbplot.cpp:31
1
#: pcbnew/pcbplot.cpp:31
2
msgid "Set X scale adjust for exact scale plotting"
msgid "Set X scale adjust for exact scale plotting"
msgstr "Ajuster échelle X pour traçage à l'échelle exacte"
msgstr "Ajuster échelle X pour traçage à l'échelle exacte"
#: pcbnew/pcbplot.cpp:31
5
#: pcbnew/pcbplot.cpp:31
6
msgid "Y scale adjust"
msgid "Y scale adjust"
msgstr "Ajustage Echelle Y"
msgstr "Ajustage Echelle Y"
#: pcbnew/pcbplot.cpp:31
8
#: pcbnew/pcbplot.cpp:31
9
msgid "Set Y scale adjust for exact scale plotting"
msgid "Set Y scale adjust for exact scale plotting"
msgstr "Ajuster échelle Y pour traçage à l'échelle exacte"
msgstr "Ajuster échelle Y pour traçage à l'échelle exacte"
#: pcbnew/pcbplot.cpp:32
1
#: pcbnew/pcbplot.cpp:32
2
msgid "Plot negative"
msgid "Plot negative"
msgstr "Tracé en Négatif"
msgstr "Tracé en Négatif"
#: pcbnew/pcbplot.cpp:33
0
#: pcbnew/pcbplot.cpp:33
1
msgid "Save Options"
msgid "Save Options"
msgstr "Sauver Options"
msgstr "Sauver Options"
#: pcbnew/pcbplot.cpp:33
4
#: pcbnew/pcbplot.cpp:33
5
msgid "Generate drill file"
msgid "Generate drill file"
msgstr "Créer Fichier de perçage"
msgstr "Créer Fichier de perçage"
#: pcbnew/pcbplot.cpp:33
7
#: pcbnew/pcbplot.cpp:33
8
msgid "Close"
msgid "Close"
msgstr "Fermer"
msgstr "Fermer"
#: pcbnew/pcbplot.cpp:383
#: pcbnew/pcbplot.cpp:384
msgid "Use Proper Gerber Extensions"
msgstr "Utiliser Extensions Gerber Particulières"
#: pcbnew/pcbplot.cpp:390
msgid "Use Proper Gerber Extensions - .GBL, .GTL, etc..."
msgstr "Utiliser les extensions GERBER specifiques aux couches - .GBL, .GTL, etc..."
#: pcbnew/pcbplot.cpp:397
msgid "Exclude pcb edge layer"
msgid "Exclude pcb edge layer"
msgstr "Exclure couche contours PCB"
msgstr "Exclure couche contours PCB"
#: pcbnew/pcbplot.cpp:
387
#: pcbnew/pcbplot.cpp:
401
msgid "Exclude contents of the pcb edge layer from all other layers"
msgid "Exclude contents of the pcb edge layer from all other layers"
msgstr "Exclure les tracés contour PCB des autres couches"
msgstr "Exclure les tracés contour PCB des autres couches"
#: pcbnew/pcbplot.cpp:
394
#: pcbnew/pcbplot.cpp:
408
msgid "Print sheet reference"
msgid "Print sheet reference"
msgstr "Imprimer cartouche"
msgstr "Imprimer cartouche"
#: pcbnew/pcbplot.cpp:4
05
#: pcbnew/pcbplot.cpp:4
19
msgid "Print pads on silkscreen"
msgid "Print pads on silkscreen"
msgstr "Pads sur Sérigraphie"
msgstr "Pads sur Sérigraphie"
#: pcbnew/pcbplot.cpp:4
13
#: pcbnew/pcbplot.cpp:4
26
msgid "Enable/disable print/plot pads on silkscreen layers"
msgid "Enable/disable print/plot pads on silkscreen layers"
msgstr "Active/désactive tracé des pastilles sur les couches de sérigraphie"
msgstr "Active/désactive tracé des pastilles sur les couches de sérigraphie"
#: pcbnew/pcbplot.cpp:4
17
#: pcbnew/pcbplot.cpp:4
30
msgid "Always print pads"
msgid "Always print pads"
msgstr "Toujours tracer pads"
msgstr "Toujours tracer pads"
#: pcbnew/pcbplot.cpp:4
23
#: pcbnew/pcbplot.cpp:4
35
msgid "Force print/plot pads on ALL layers"
msgid "Force print/plot pads on ALL layers"
msgstr "Force le tracé des pastilles sur TOUTES les couches"
msgstr "Force le tracé des pastilles sur TOUTES les couches"
#: pcbnew/pcbplot.cpp:4
28
#: pcbnew/pcbplot.cpp:4
40
msgid "Print module value"
msgid "Print module value"
msgstr "Imprimer Valeur Module"
msgstr "Imprimer Valeur Module"
#: pcbnew/pcbplot.cpp:4
32
#: pcbnew/pcbplot.cpp:4
44
msgid "Enable/disable print/plot module value on silkscreen layers"
msgid "Enable/disable print/plot module value on silkscreen layers"
msgstr "Active/désactive le tracé des textes valeurs des modules sur couches de sérigraphie"
msgstr "Active/désactive le tracé des textes valeurs des modules sur couches de sérigraphie"
#: pcbnew/pcbplot.cpp:4
36
#: pcbnew/pcbplot.cpp:4
48
msgid "Print module reference"
msgid "Print module reference"
msgstr "Imprimer Référence Module"
msgstr "Imprimer Référence Module"
#: pcbnew/pcbplot.cpp:4
40
#: pcbnew/pcbplot.cpp:4
52
msgid "Enable/disable print/plot module reference on silkscreen layers"
msgid "Enable/disable print/plot module reference on silkscreen layers"
msgstr "Active/désactive le tracé des textes référence des modules sur couches de sérigraphie"
msgstr "Active/désactive le tracé des textes référence des modules sur couches de sérigraphie"
#: pcbnew/pcbplot.cpp:4
44
#: pcbnew/pcbplot.cpp:4
56
msgid "Print other module texts"
msgid "Print other module texts"
msgstr "Imprimer autres textes module"
msgstr "Imprimer autres textes module"
#: pcbnew/pcbplot.cpp:4
48
#: pcbnew/pcbplot.cpp:4
60
msgid "Enable/disable print/plot module field texts on silkscreen layers"
msgid "Enable/disable print/plot module field texts on silkscreen layers"
msgstr "Active/désactive le tracé des textes des champs des modules sur couches de sérigraphie"
msgstr "Active/désactive le tracé des textes des champs des modules sur couches de sérigraphie"
#: pcbnew/pcbplot.cpp:4
53
#: pcbnew/pcbplot.cpp:4
65
msgid "Force print invisible texts"
msgid "Force print invisible texts"
msgstr "Force tracé textes invisibles"
msgstr "Force tracé textes invisibles"
#: pcbnew/pcbplot.cpp:4
57
#: pcbnew/pcbplot.cpp:4
69
msgid "Force print/plot module invisible texts on silkscreen layers"
msgid "Force print/plot module invisible texts on silkscreen layers"
msgstr "Force le tracé des textes invisibles sur couches de sérigraphie"
msgstr "Force le tracé des textes invisibles sur couches de sérigraphie"
#: pcbnew/pcbplot.cpp:4
62
#: pcbnew/pcbplot.cpp:4
75
msgid "No drill mark"
msgid "No drill mark"
msgstr "Pas de marque"
msgstr "Pas de marque"
#: pcbnew/pcbplot.cpp:4
63
#: pcbnew/pcbplot.cpp:4
76
msgid "Small mark"
msgid "Small mark"
msgstr "Petite marque"
msgstr "Petite marque"
#: pcbnew/pcbplot.cpp:4
64
#: pcbnew/pcbplot.cpp:4
77
msgid "Real drill"
msgid "Real drill"
msgstr "Perçage réel"
msgstr "Perçage réel"
#: pcbnew/pcbplot.cpp:4
68
#: pcbnew/pcbplot.cpp:4
81
msgid "Pads Drill Opt"
msgid "Pads Drill Opt"
msgstr "Options Perçage Pads"
msgstr "Options Perçage Pads"
#: pcbnew/pcbplot.cpp:4
77
#: pcbnew/pcbplot.cpp:4
90
msgid "Auto scale"
msgid "Auto scale"
msgstr "Ech. auto"
msgstr "Ech. auto"
#: pcbnew/pcbplot.cpp:4
78
#: pcbnew/pcbplot.cpp:4
91
msgid "Scale 1"
msgid "Scale 1"
msgstr "Echelle 1"
msgstr "Echelle 1"
#: pcbnew/pcbplot.cpp:4
79
#: pcbnew/pcbplot.cpp:4
92
msgid "Scale 1.5"
msgid "Scale 1.5"
msgstr "Echelle 1,5"
msgstr "Echelle 1,5"
#: pcbnew/pcbplot.cpp:4
80
#: pcbnew/pcbplot.cpp:4
93
msgid "Scale 2"
msgid "Scale 2"
msgstr "Echelle 2"
msgstr "Echelle 2"
#: pcbnew/pcbplot.cpp:4
81
#: pcbnew/pcbplot.cpp:4
94
msgid "Scale 3"
msgid "Scale 3"
msgstr "Echelle 3"
msgstr "Echelle 3"
#: pcbnew/pcbplot.cpp:4
85
#: pcbnew/pcbplot.cpp:4
98
msgid "Scale Opt"
msgid "Scale Opt"
msgstr "Echelle"
msgstr "Echelle"
#: pcbnew/pcbplot.cpp:
492
#: pcbnew/pcbplot.cpp:
507
msgid "Line"
msgid "Line"
msgstr "Ligne"
msgstr "Ligne"
#: pcbnew/pcbplot.cpp:
492
#: pcbnew/pcbplot.cpp:
507
msgid "Filled"
msgid "Filled"
msgstr "Plein"
msgstr "Plein"
#: pcbnew/pcbplot.cpp:
493
#: pcbnew/pcbplot.cpp:
508
msgid "Sketch"
msgid "Sketch"
msgstr "Contour"
msgstr "Contour"
#: pcbnew/pcbplot.cpp:
495
#: pcbnew/pcbplot.cpp:
511
msgid "Plot Mode"
msgid "Plot Mode"
msgstr "Mode de Tracé"
msgstr "Mode de Tracé"
#: pcbnew/pcbplot.cpp:5
03
#: pcbnew/pcbplot.cpp:5
19
msgid "Plot mirror"
msgid "Plot mirror"
msgstr "Tracé Miroir"
msgstr "Tracé Miroir"
#: pcbnew/pcbplot.cpp:5
09
#: pcbnew/pcbplot.cpp:5
25
msgid "Vias on mask"
msgid "Vias on mask"
msgstr "Vias sur masque"
msgstr "Vias sur masque"
#: pcbnew/pcbplot.cpp:5
13
#: pcbnew/pcbplot.cpp:5
29
msgid "Print/plot vias on mask layers. They are in this case not protected"
msgid "Print/plot vias on mask layers. They are in this case not protected"
msgstr "Trace vias sur vernis épargne. Elles seront non protégées"
msgstr "Trace vias sur vernis épargne. Elles seront non protégées"
#: pcbnew/pcbplot.cpp:7
62
#: pcbnew/pcbplot.cpp:7
84
msgid "Adobe post script files (.ps)|*.ps"
msgid "Adobe post script files (.ps)|*.ps"
msgstr "Fichiers Adobe post script (.ps)|*.ps"
msgstr "Fichiers Adobe post script (.ps)|*.ps"
#: pcbnew/pcbplot.cpp:7
68
#: pcbnew/pcbplot.cpp:7
90
msgid "GERBER photo plot files (.pho
)|*.pho
"
msgid "GERBER photo plot files (.pho
.gbr)|*.pho;*.gbr
"
msgstr "Fichiers phot
traçage GERBER (.pho)|*.pho
"
msgstr "Fichiers phot
raçage GERBER (.pho .gbr)|*.pho;*.gbr
"
#: pcbnew/pcbplot.cpp:
786
#: pcbnew/pcbplot.cpp:
808
msgid "Warning: Scale option set to a very small value"
msgid "Warning: Scale option set to a very small value"
msgstr "Attention: option d'échelle ajustée à une valeur très petite"
msgstr "Attention: option d'échelle ajustée à une valeur très petite"
#: pcbnew/pcbplot.cpp:
789
#: pcbnew/pcbplot.cpp:
811
msgid "Warning: Scale option set to a very large value"
msgid "Warning: Scale option set to a very large value"
msgstr "Attention: option d'échelle ajustée à une valeur très grande"
msgstr "Attention: option d'échelle ajustée à une valeur très grande"
#: pcbnew/pcbplot.cpp:
838
#: pcbnew/pcbplot.cpp:
939
msgid "No layer selected"
msgid "No layer selected"
msgstr "Pas de couche sélectionnée"
msgstr "Pas de couche sélectionnée"
...
@@ -9710,7 +9718,7 @@ msgstr "Imprimer Tout"
...
@@ -9710,7 +9718,7 @@ msgstr "Imprimer Tout"
msgid "Current"
msgid "Current"
msgstr "Courant"
msgstr "Courant"
#: eeschema/class_sch_component.cpp:11
03
#: eeschema/class_sch_component.cpp:11
14
msgid "Power symbol"
msgid "Power symbol"
msgstr "Symbole d'alimentation"
msgstr "Symbole d'alimentation"
...
@@ -11220,105 +11228,105 @@ msgstr "Fichier exécutable ("
...
@@ -11220,105 +11228,105 @@ msgstr "Fichier exécutable ("
msgid "Select Prefered Editor"
msgid "Select Prefered Editor"
msgstr "Sélection Editeur Préféré"
msgstr "Sélection Editeur Préféré"
#: kicad/treeprj_frame.cpp:12
3
#: kicad/treeprj_frame.cpp:12
6
msgid "&Run"
msgid "&Run"
msgstr "Exécute&r"
msgstr "Exécute&r"
#: kicad/treeprj_frame.cpp:12
4
#: kicad/treeprj_frame.cpp:12
7
msgid "Run the Python Script"
msgid "Run the Python Script"
msgstr "Exécuter le Script Python"
msgstr "Exécuter le Script Python"
#: kicad/treeprj_frame.cpp:13
3
#: kicad/treeprj_frame.cpp:13
6
#: kicad/treeprj_frame.cpp:2
08
#: kicad/treeprj_frame.cpp:2
11
msgid "&Edit in a text editor"
msgid "&Edit in a text editor"
msgstr "Editer avec un éditeur de Texte"
msgstr "Editer avec un éditeur de Texte"
#: kicad/treeprj_frame.cpp:13
4
#: kicad/treeprj_frame.cpp:13
7
msgid "&Open the file in a Text Editor"
msgid "&Open the file in a Text Editor"
msgstr "&Ouvrir le fichier avec un Editeur de texte"
msgstr "&Ouvrir le fichier avec un Editeur de texte"
#: kicad/treeprj_frame.cpp:15
1
#: kicad/treeprj_frame.cpp:15
4
msgid "New D&irectory"
msgid "New D&irectory"
msgstr "&Nouveau Répertoire"
msgstr "&Nouveau Répertoire"
#: kicad/treeprj_frame.cpp:15
2
#: kicad/treeprj_frame.cpp:15
5
msgid "Create a New Directory"
msgid "Create a New Directory"
msgstr "Créer un nouveau Répertoire"
msgstr "Créer un nouveau Répertoire"
#: kicad/treeprj_frame.cpp:16
1
#: kicad/treeprj_frame.cpp:16
4
msgid "New P&ython Script"
msgid "New P&ython Script"
msgstr "Nouveau Script P&ython"
msgstr "Nouveau Script P&ython"
#: kicad/treeprj_frame.cpp:16
2
#: kicad/treeprj_frame.cpp:16
5
msgid "Create a New Python Script"
msgid "Create a New Python Script"
msgstr "Créer un nouveau script Python"
msgstr "Créer un nouveau script Python"
#: kicad/treeprj_frame.cpp:17
1
#: kicad/treeprj_frame.cpp:17
4
msgid "New &Text File"
msgid "New &Text File"
msgstr "Nouveau Fichier &Texte"
msgstr "Nouveau Fichier &Texte"
#: kicad/treeprj_frame.cpp:17
2
#: kicad/treeprj_frame.cpp:17
5
msgid "Create a New Txt File"
msgid "Create a New Txt File"
msgstr "Créer un nouveau Fichier texte"
msgstr "Créer un nouveau Fichier texte"
#: kicad/treeprj_frame.cpp:18
0
#: kicad/treeprj_frame.cpp:18
3
msgid "New &File"
msgid "New &File"
msgstr "Nouveau &Fichier"
msgstr "Nouveau &Fichier"
#: kicad/treeprj_frame.cpp:18
1
#: kicad/treeprj_frame.cpp:18
4
msgid "Create a New File"
msgid "Create a New File"
msgstr "Créer un nouveau Fichier"
msgstr "Créer un nouveau Fichier"
#: kicad/treeprj_frame.cpp:19
5
#: kicad/treeprj_frame.cpp:19
8
msgid "&Rename file"
msgid "&Rename file"
msgstr "&Renommer fichier"
msgstr "&Renommer fichier"
#: kicad/treeprj_frame.cpp:19
6
#: kicad/treeprj_frame.cpp:19
9
#: kicad/treeprj_frame.cpp:
198
#: kicad/treeprj_frame.cpp:
201
msgid "&Rename directory"
msgid "&Rename directory"
msgstr "&Renommer répertoire"
msgstr "&Renommer répertoire"
#: kicad/treeprj_frame.cpp:
197
#: kicad/treeprj_frame.cpp:
200
msgid "Rename file"
msgid "Rename file"
msgstr "Renommer fichier"
msgstr "Renommer fichier"
#: kicad/treeprj_frame.cpp:2
09
#: kicad/treeprj_frame.cpp:2
12
msgid "Open the file in a Text Editor"
msgid "Open the file in a Text Editor"
msgstr "Ouvrir le fichier avec un Editeur de texte"
msgstr "Ouvrir le fichier avec un Editeur de texte"
#: kicad/treeprj_frame.cpp:2
17
#: kicad/treeprj_frame.cpp:2
20
msgid "&Delete File"
msgid "&Delete File"
msgstr "&Supprimer Fichier"
msgstr "&Supprimer Fichier"
#: kicad/treeprj_frame.cpp:2
18
#: kicad/treeprj_frame.cpp:2
21
msgid "&Delete Directory"
msgid "&Delete Directory"
msgstr "&Supprimer le Répertoire"
msgstr "&Supprimer le Répertoire"
#: kicad/treeprj_frame.cpp:2
19
#: kicad/treeprj_frame.cpp:2
22
msgid "Delete the File"
msgid "Delete the File"
msgstr "Supprimer le fichier"
msgstr "Supprimer le fichier"
#: kicad/treeprj_frame.cpp:22
0
#: kicad/treeprj_frame.cpp:22
3
msgid "&Delete the Directory and its content"
msgid "&Delete the Directory and its content"
msgstr "Effacer le Répertoire et son contenu"
msgstr "Effacer le Répertoire et son contenu"
#: kicad/treeprj_frame.cpp:54
6
#: kicad/treeprj_frame.cpp:54
9
msgid "Create New File"
msgid "Create New File"
msgstr "Créer un Nouveau Fichier"
msgstr "Créer un Nouveau Fichier"
#: kicad/treeprj_frame.cpp:5
47
#: kicad/treeprj_frame.cpp:5
50
msgid "Create New Directory"
msgid "Create New Directory"
msgstr "Créer un nouveau Répertoire"
msgstr "Créer un nouveau Répertoire"
#: kicad/treeprj_frame.cpp:55
6
#: kicad/treeprj_frame.cpp:55
9
msgid "noname."
msgid "noname."
msgstr "noname."
msgstr "noname."
#: kicad/treeprj_frame.cpp:108
5
#: kicad/treeprj_frame.cpp:108
8
msgid "Change filename: "
msgid "Change filename: "
msgstr "Changer Nom Fichier: "
msgstr "Changer Nom Fichier: "
#: kicad/treeprj_frame.cpp:10
87
#: kicad/treeprj_frame.cpp:10
90
msgid "Change filename"
msgid "Change filename"
msgstr "Changer Nom Fichier"
msgstr "Changer Nom Fichier"
...
@@ -11360,14 +11368,14 @@ msgid "%d errors while reading Gerber file [%s]"
...
@@ -11360,14 +11368,14 @@ msgid "%d errors while reading Gerber file [%s]"
msgstr "%d erreurs pendant lecture fichier gerber [%s]"
msgstr "%d erreurs pendant lecture fichier gerber [%s]"
#: gerbview/readgerb.cpp:267
#: gerbview/readgerb.cpp:267
#: gerbview/files.cpp:18
3
#: gerbview/files.cpp:18
5
#: gerbview/files.cpp:21
6
#: gerbview/files.cpp:21
8
#, c-format
#, c-format
msgid "Gerber DCODE files (%s)|*.%s"
msgid "Gerber DCODE files (%s)|*.%s"
msgstr "Fichiers Gerber DCODE (%s)|*.%s"
msgstr "Fichiers Gerber DCODE (%s)|*.%s"
#: gerbview/readgerb.cpp:272
#: gerbview/readgerb.cpp:272
#: gerbview/files.cpp:1
89
#: gerbview/files.cpp:1
91
msgid "Load GERBER DCODE File"
msgid "Load GERBER DCODE File"
msgstr "Charger Fichier de DCodes"
msgstr "Charger Fichier de DCodes"
...
@@ -11384,62 +11392,62 @@ msgid "Not yet available..."
...
@@ -11384,62 +11392,62 @@ msgid "Not yet available..."
msgstr "non encore disponible"
msgstr "non encore disponible"
#: gerbview/files.cpp:114
#: gerbview/files.cpp:114
msgid "Gerber files (.gb
r .gbx .lgr .ger .pho)| .gbr;*.GBR;*.gbx;*.GBX;*.lgr;*.LGR;*.ger;*.GER;*.pho;*.PHO|
"
msgid "Gerber files (.gb
* .gt* .lgr .ger .pho)
"
msgstr "Fichiers Gerber
(.gbr .gbx .lgr .ger .pho)| *.gbr;*.GBR;*.gbx;*.GBX;*.lgr;*.LGR;*.ger;*.GER;*.pho;*.PHO|
"
msgstr "Fichiers Gerber
.gb* .gt* .lgr .ger .pho)
"
#: gerbview/files.cpp:1
18
#: gerbview/files.cpp:1
20
msgid "Top layer (*.GTL)|*.GTL;*.gtl|"
msgid "Top layer (*.GTL)|*.GTL;*.gtl|"
msgstr "Couche composant"
msgstr "Couche composant"
#: gerbview/files.cpp:1
19
#: gerbview/files.cpp:1
21
msgid "Bottom layer (*.GBL)|*.GBL;*.gbl|"
msgid "Bottom layer (*.GBL)|*.GBL;*.gbl|"
msgstr "Couche cuivre"
msgstr "Couche cuivre"
#: gerbview/files.cpp:12
0
#: gerbview/files.cpp:12
2
msgid "Bottom solder resist (*.GBS)|*.GBS;*.gbs|"
msgid "Bottom solder resist (*.GBS)|*.GBS;*.gbs|"
msgstr "Masque soudure cuivre (*.GBS)|*.GBS;*.gbs|"
msgstr "Masque soudure cuivre (*.GBS)|*.GBS;*.gbs|"
#: gerbview/files.cpp:12
1
#: gerbview/files.cpp:12
3
msgid "Top solder resist (*.GTS)|*.GTS;*.gts|"
msgid "Top solder resist (*.GTS)|*.GTS;*.gts|"
msgstr "Masque soudure composant (*.GTS)|*.GTS;*.gts|"
msgstr "Masque soudure composant (*.GTS)|*.GTS;*.gts|"
#: gerbview/files.cpp:12
2
#: gerbview/files.cpp:12
4
msgid "Bottom overlay (*.GBO)|*.GBO;*.gbo|"
msgid "Bottom overlay (*.GBO)|*.GBO;*.gbo|"
msgstr "
Simple face, CMS coté Cuivre.
"
msgstr "
Bottom overlay (*.GBO)|*.GBO;*.gbo|
"
#: gerbview/files.cpp:12
3
#: gerbview/files.cpp:12
5
msgid "Top overlay (*.GTO)|*.GTO;*.gto|"
msgid "Top overlay (*.GTO)|*.GTO;*.gto|"
msgstr "Top overlay (*.GTO)|*.GTO;*.gto|"
msgstr "Top overlay (*.GTO)|*.GTO;*.gto|"
#: gerbview/files.cpp:12
4
#: gerbview/files.cpp:12
6
msgid "Bottom paste (*.GBP)|*.GBP;*.gbp|"
msgid "Bottom paste (*.GBP)|*.GBP;*.gbp|"
msgstr "
Bottom past
e (*.GBP)|*.GBP;*.gbp|"
msgstr "
Masque pate à souder cuivr
e (*.GBP)|*.GBP;*.gbp|"
#: gerbview/files.cpp:12
5
#: gerbview/files.cpp:12
7
msgid "Top paste (*.GTP)|*.GTP;*.gtp|"
msgid "Top paste (*.GTP)|*.GTP;*.gtp|"
msgstr "Masque pate à souder composant (*.GTP)|*.GTP;*.gtp|"
msgstr "Masque pate à souder composant (*.GTP)|*.GTP;*.gtp|"
#: gerbview/files.cpp:12
6
#: gerbview/files.cpp:12
8
msgid "Keep-out layer (*.GKO)|*.GKO;*.gko|"
msgid "Keep-out layer (*.GKO)|*.GKO;*.gko|"
msgstr "Couche de \"Keep-out\" (*.GKO)|*.GKO;*.gko|"
msgstr "Couche de \"Keep-out\" (*.GKO)|*.GKO;*.gko|"
#: gerbview/files.cpp:12
7
#: gerbview/files.cpp:12
9
msgid "Mechanical layers (*.GMx)|*.GM1;*.gm1;*.GM2;*.gm2;*.GM3;*.gm3|"
msgid "Mechanical layers (*.GMx)|*.GM1;*.gm1;*.GM2;*.gm2;*.GM3;*.gm3|"
msgstr "Couches mécaniques (*.GMx)|*.GM1;*.gm1;*.GM2;*.gm2;*.GM3;*.gm3|"
msgstr "Couches mécaniques (*.GMx)|*.GM1;*.gm1;*.GM2;*.gm2;*.GM3;*.gm3|"
#: gerbview/files.cpp:1
28
#: gerbview/files.cpp:1
30
msgid "Top Pad Master (*.GPT)|*.GPT;*.gpt|"
msgid "Top Pad Master (*.GPT)|*.GPT;*.gpt|"
msgstr "Top Pad Master (*.GPT)|*.GPT;*.gpt|"
msgstr "Top Pad Master (*.GPT)|*.GPT;*.gpt|"
#: gerbview/files.cpp:1
29
#: gerbview/files.cpp:1
31
msgid "Bottom Pad Master (*.GPB)|*.GPB;*.gpb|"
msgid "Bottom Pad Master (*.GPB)|*.GPB;*.gpb|"
msgstr "Bottom Pad Master (*.GPB)|*.GPB;*.gpb|"
msgstr "Bottom Pad Master (*.GPB)|*.GPB;*.gpb|"
#: gerbview/files.cpp:1
39
#: gerbview/files.cpp:1
41
msgid "Open Gerber File"
msgid "Open Gerber File"
msgstr "Ouvrir Fichier Gerber"
msgstr "Ouvrir Fichier Gerber"
#: gerbview/files.cpp:22
0
#: gerbview/files.cpp:22
2
msgid "Save Gerber File"
msgid "Save Gerber File"
msgstr "Sauver Fichier Gerber"
msgstr "Sauver Fichier Gerber"
...
@@ -12842,6 +12850,12 @@ msgstr "Options d'Affichage"
...
@@ -12842,6 +12850,12 @@ msgstr "Options d'Affichage"
msgid "Page Settings"
msgid "Page Settings"
msgstr "Ajustage opt Page"
msgstr "Ajustage opt Page"
#~ msgid ""
#~ "Gerber files (.gbr .gbx .lgr .ger .pho)| .gbr;*.GBR;*.gbx;*.GBX;*.lgr;*."
#~ "LGR;*.ger;*.GER;*.pho;*.PHO|"
#~ msgstr ""
#~ "Fichiers Gerber (.gbr .gbx .lgr .ger .pho)| *.gbr;*.GBR;*.gbx;*.GBX;*.lgr;"
#~ "*.LGR;*.ger;*.GER;*.pho;*.PHO|"
#~ msgid "&Name:"
#~ msgid "&Name:"
#~ msgstr "&Nom:"
#~ msgstr "&Nom:"
#~ msgid "N&umber:"
#~ msgid "N&umber:"
...
...
kicad/treeprj_frame.cpp
View file @
a1998410
...
@@ -40,8 +40,11 @@ const wxChar* s_AllowedExtensionsToList[] =
...
@@ -40,8 +40,11 @@ const wxChar* s_AllowedExtensionsToList[] =
wxT
(
"^[^$].*
\\
.brd$"
),
wxT
(
"^[^$].*
\\
.brd$"
),
wxT
(
"^.*
\\
.net$"
),
wxT
(
"^.*
\\
.net$"
),
wxT
(
"^.*
\\
.txt$"
),
wxT
(
"^.*
\\
.txt$"
),
wxT
(
"^.*
\\
.pho$"
),
wxT
(
"^.*
\\
.pho$"
),
// Gerber file
wxT
(
"^.*
\\
.gbr$"
),
wxT
(
"^.*
\\
.gbr$"
),
// Gerber file
wxT
(
"^.*
\\
.gb[alops]$"
),
// Gerber back (or bottom) layer file
wxT
(
"^.*
\\
.gt[alops]$"
),
// Gerber front (or top) layer file
wxT
(
"^.*
\\
.g[0-9]{1,2}$"
),
// Gerber inner layer file
wxT
(
"^.*
\\
.odt$"
),
wxT
(
"^.*
\\
.odt$"
),
wxT
(
"^.*
\\
.sxw$"
),
wxT
(
"^.*
\\
.sxw$"
),
wxT
(
"^.*
\\
.htm$"
),
wxT
(
"^.*
\\
.htm$"
),
...
...
pcbnew/pcbplot.cpp
View file @
a1998410
...
@@ -14,11 +14,14 @@
...
@@ -14,11 +14,14 @@
#include "worksheet.h"
#include "worksheet.h"
#include "pcbnew_id.h"
#include "pcbnew_id.h"
#include "protos.h"
#include "protos.h"
#include "pcbstruct.h"
#include "class_board_design_settings.h"
#define PLOT_DEFAULT_MARGE 300 // mils
#define PLOT_DEFAULT_MARGE 300 // mils
/* Keywords to r/w options in config */
/* Keywords to r/w options in config */
#define OPTKEY_EDGELAYER_GERBER wxT( "EdgeLayerGerberOpt" )
#define OPTKEY_EDGELAYER_GERBER wxT( "EdgeLayerGerberOpt" )
#define OPTKEY_GERBER_EXTENSIONS wxT( "GerberOptUseLayersExt" )
#define OPTKEY_XFINESCALE_ADJ wxT( "PlotXFineScaleAdj" )
#define OPTKEY_XFINESCALE_ADJ wxT( "PlotXFineScaleAdj" )
#define OPTKEY_YFINESCALE_ADJ wxT( "PlotYFineScaleAdj" )
#define OPTKEY_YFINESCALE_ADJ wxT( "PlotYFineScaleAdj" )
#define OPTKEY_PADS_ON_SILKSCREEN wxT( "PlotPadsOnSilkscreen" )
#define OPTKEY_PADS_ON_SILKSCREEN wxT( "PlotPadsOnSilkscreen" )
...
@@ -37,12 +40,13 @@ PCB_Plot_Options::PCB_Plot_Options()
...
@@ -37,12 +40,13 @@ PCB_Plot_Options::PCB_Plot_Options()
Sel_Texte_Divers
=
true
;
Sel_Texte_Divers
=
true
;
DrillShapeOpt
=
PCB_Plot_Options
::
SMALL_DRILL_SHAPE
;
DrillShapeOpt
=
PCB_Plot_Options
::
SMALL_DRILL_SHAPE
;
Trace_Mode
=
FILLED
;
Trace_Mode
=
FILLED
;
Scale
=
1.0
;
Scale
=
1.0
;
ScaleAdjX
=
1.0
;
ScaleAdjX
=
1.0
;
ScaleAdjY
=
1.0
;
ScaleAdjY
=
1.0
;
PlotScaleOpt
=
1
;
PlotScaleOpt
=
1
;
}
}
static
long
s_SelectedLayers
=
LAYER_BACK
|
LAYER_FRONT
|
static
long
s_SelectedLayers
=
LAYER_BACK
|
LAYER_FRONT
|
SILKSCREEN_LAYER_FRONT
|
SILKSCREEN_LAYER_BACK
;
SILKSCREEN_LAYER_FRONT
|
SILKSCREEN_LAYER_BACK
;
...
@@ -69,7 +73,8 @@ enum id_plotps {
...
@@ -69,7 +73,8 @@ enum id_plotps {
ID_PRINT_PAD_ON_SILKSCREEN
,
ID_PRINT_PAD_ON_SILKSCREEN
,
ID_FORCE_PRINT_PAD
,
ID_FORCE_PRINT_PAD
,
ID_CREATE_DRILL_FILE
,
ID_CREATE_DRILL_FILE
,
ID_SEL_PLOT_OFFSET_OPTION
ID_SEL_PLOT_OFFSET_OPTION
,
ID_USE_GERBER_EXTENSIONS
};
};
...
@@ -94,6 +99,7 @@ public:
...
@@ -94,6 +99,7 @@ public:
wxCheckBox
*
m_PlotMirorOpt
;
wxCheckBox
*
m_PlotMirorOpt
;
wxCheckBox
*
m_PlotNoViaOnMaskOpt
;
wxCheckBox
*
m_PlotNoViaOnMaskOpt
;
wxCheckBox
*
m_Exclude_Edges_Pcb
;
wxCheckBox
*
m_Exclude_Edges_Pcb
;
wxCheckBox
*
m_Use_Gerber_Extensions
;
wxCheckBox
*
m_Plot_Sheet_Ref
;
wxCheckBox
*
m_Plot_Sheet_Ref
;
wxCheckBox
*
m_Plot_Invisible_Text
;
wxCheckBox
*
m_Plot_Invisible_Text
;
wxCheckBox
*
m_Plot_Text_Value
;
wxCheckBox
*
m_Plot_Text_Value
;
...
@@ -110,8 +116,8 @@ public:
...
@@ -110,8 +116,8 @@ public:
WinEDA_DFloatValueCtrl
*
m_FineAdjustXscaleOpt
;
WinEDA_DFloatValueCtrl
*
m_FineAdjustXscaleOpt
;
WinEDA_DFloatValueCtrl
*
m_FineAdjustYscaleOpt
;
WinEDA_DFloatValueCtrl
*
m_FineAdjustYscaleOpt
;
double
m_XScaleAdjust
;
double
m_XScaleAdjust
;
double
m_YScaleAdjust
;
double
m_YScaleAdjust
;
bool
useA4
()
bool
useA4
()
{
{
...
@@ -130,15 +136,16 @@ public:
...
@@ -130,15 +136,16 @@ public:
// change the A4 to the simple postscript, according to the
// change the A4 to the simple postscript, according to the
// PlotFormat enum
// PlotFormat enum
switch
(
radioNdx
)
switch
(
radioNdx
)
{
{
case
3
:
case
3
:
radioNdx
=
PLOT_FORMAT_POST
;
radioNdx
=
PLOT_FORMAT_POST
;
break
;
break
;
case
4
:
radioNdx
=
PLOT_FORMAT_DXF
;
case
4
:
break
;
radioNdx
=
PLOT_FORMAT_DXF
;
}
break
;
}
return
PlotFormat
(
radioNdx
);
return
PlotFormat
(
radioNdx
);
}
}
...
@@ -160,14 +167,14 @@ private:
...
@@ -160,14 +167,14 @@ private:
};
};
BEGIN_EVENT_TABLE
(
WinEDA_PlotFrame
,
wxDialog
)
BEGIN_EVENT_TABLE
(
WinEDA_PlotFrame
,
wxDialog
)
EVT_INIT_DIALOG
(
WinEDA_PlotFrame
::
OnInitDialog
)
EVT_INIT_DIALOG
(
WinEDA_PlotFrame
::
OnInitDialog
)
EVT_CLOSE
(
WinEDA_PlotFrame
::
OnClose
)
EVT_CLOSE
(
WinEDA_PlotFrame
::
OnClose
)
EVT_BUTTON
(
wxID_CANCEL
,
WinEDA_PlotFrame
::
OnQuit
)
EVT_BUTTON
(
wxID_CANCEL
,
WinEDA_PlotFrame
::
OnQuit
)
EVT_BUTTON
(
ID_EXEC_PLOT
,
WinEDA_PlotFrame
::
Plot
)
EVT_BUTTON
(
ID_EXEC_PLOT
,
WinEDA_PlotFrame
::
Plot
)
EVT_BUTTON
(
ID_SAVE_OPT_PLOT
,
WinEDA_PlotFrame
::
SaveOptPlot
)
EVT_BUTTON
(
ID_SAVE_OPT_PLOT
,
WinEDA_PlotFrame
::
SaveOptPlot
)
EVT_BUTTON
(
ID_CREATE_DRILL_FILE
,
WinEDA_PlotFrame
::
CreateDrillFile
)
EVT_BUTTON
(
ID_CREATE_DRILL_FILE
,
WinEDA_PlotFrame
::
CreateDrillFile
)
EVT_RADIOBOX
(
ID_SEL_PLOT_FORMAT
,
WinEDA_PlotFrame
::
SetCommands
)
EVT_RADIOBOX
(
ID_SEL_PLOT_FORMAT
,
WinEDA_PlotFrame
::
SetCommands
)
EVT_RADIOBOX
(
ID_SCALE_OPT
,
WinEDA_PlotFrame
::
OnSetScaleOpt
)
EVT_RADIOBOX
(
ID_SCALE_OPT
,
WinEDA_PlotFrame
::
OnSetScaleOpt
)
END_EVENT_TABLE
()
END_EVENT_TABLE
()
...
@@ -228,12 +235,9 @@ void WinEDA_PlotFrame::OnInitDialog( wxInitDialogEvent& event )
...
@@ -228,12 +235,9 @@ void WinEDA_PlotFrame::OnInitDialog( wxInitDialogEvent& event )
5
,
fmtmsg
,
1
,
wxRA_SPECIFY_COLS
);
5
,
fmtmsg
,
1
,
wxRA_SPECIFY_COLS
);
MidRightBoxSizer
->
Add
(
m_PlotFormatOpt
,
0
,
wxGROW
|
wxALL
,
5
);
MidRightBoxSizer
->
Add
(
m_PlotFormatOpt
,
0
,
wxGROW
|
wxALL
,
5
);
if
(
config
)
config
->
Read
(
OPTKEY_OUTPUT_FORMAT
,
&
g_pcb_plot_options
.
PlotFormat
);
{
config
->
Read
(
OPTKEY_PLOT_LINEWIDTH_VALUE
,
config
->
Read
(
OPTKEY_OUTPUT_FORMAT
,
&
g_pcb_plot_options
.
PlotFormat
);
&
g_pcb_plot_options
.
PlotLine_Width
);
config
->
Read
(
OPTKEY_PLOT_LINEWIDTH_VALUE
,
&
g_pcb_plot_options
.
PlotLine_Width
);
}
m_PlotFormatOpt
->
SetSelection
(
g_pcb_plot_options
.
PlotFormat
);
m_PlotFormatOpt
->
SetSelection
(
g_pcb_plot_options
.
PlotFormat
);
...
@@ -269,7 +273,8 @@ void WinEDA_PlotFrame::OnInitDialog( wxInitDialogEvent& event )
...
@@ -269,7 +273,8 @@ void WinEDA_PlotFrame::OnInitDialog( wxInitDialogEvent& event )
MidRightBoxSizer
,
MidRightBoxSizer
,
PCB_INTERNAL_UNIT
);
PCB_INTERNAL_UNIT
);
m_LinesWidth
->
SetToolTip
(
_
(
"Set lines width used to plot in sketch \
m_LinesWidth
->
SetToolTip
(
_
(
"Set lines width used to plot in sketch \
mode and plot pads outlines on silk screen layers"
)
);
mode and plot pads outlines on silk screen layers"
)
);
// Create the right column commands
// Create the right column commands
...
@@ -292,12 +297,9 @@ mode and plot pads outlines on silk screen layers" ) );
...
@@ -292,12 +297,9 @@ mode and plot pads outlines on silk screen layers" ) );
// Create scale adjust option
// Create scale adjust option
m_XScaleAdjust
=
m_YScaleAdjust
=
1.0
;
m_XScaleAdjust
=
m_YScaleAdjust
=
1.0
;
if
(
config
)
config
->
Read
(
OPTKEY_EDGELAYER_GERBER
,
&
g_pcb_plot_options
.
Exclude_Edges_Pcb
);
{
config
->
Read
(
OPTKEY_XFINESCALE_ADJ
,
&
m_XScaleAdjust
);
config
->
Read
(
OPTKEY_EDGELAYER_GERBER
,
&
g_pcb_plot_options
.
Exclude_Edges_Pcb
);
config
->
Read
(
OPTKEY_YFINESCALE_ADJ
,
&
m_YScaleAdjust
);
config
->
Read
(
OPTKEY_XFINESCALE_ADJ
,
&
m_XScaleAdjust
);
config
->
Read
(
OPTKEY_YFINESCALE_ADJ
,
&
m_YScaleAdjust
);
}
// Test for a reasonable scale value. Set to 1 if problem
// Test for a reasonable scale value. Set to 1 if problem
if
(
m_XScaleAdjust
<
MIN_SCALE
||
m_YScaleAdjust
<
MIN_SCALE
if
(
m_XScaleAdjust
<
MIN_SCALE
||
m_YScaleAdjust
<
MIN_SCALE
...
@@ -331,7 +333,7 @@ scale plotting" ) );
...
@@ -331,7 +333,7 @@ scale plotting" ) );
RightBoxSizer
->
Add
(
button
,
0
,
wxGROW
|
wxALL
,
5
);
RightBoxSizer
->
Add
(
button
,
0
,
wxGROW
|
wxALL
,
5
);
button
=
new
wxButton
(
this
,
ID_CREATE_DRILL_FILE
,
button
=
new
wxButton
(
this
,
ID_CREATE_DRILL_FILE
,
_
(
"Generate drill file"
)
);
_
(
"Generate drill file"
)
);
RightBoxSizer
->
Add
(
button
,
0
,
wxGROW
|
wxALL
,
5
);
RightBoxSizer
->
Add
(
button
,
0
,
wxGROW
|
wxALL
,
5
);
button
=
new
wxButton
(
this
,
wxID_CANCEL
,
_
(
"Close"
)
);
button
=
new
wxButton
(
this
,
wxID_CANCEL
,
_
(
"Close"
)
);
...
@@ -341,7 +343,7 @@ scale plotting" ) );
...
@@ -341,7 +343,7 @@ scale plotting" ) );
wxBoxSizer
*
OneColumnLayerBoxSizer
=
new
wxBoxSizer
(
wxVERTICAL
);
wxBoxSizer
*
OneColumnLayerBoxSizer
=
new
wxBoxSizer
(
wxVERTICAL
);
LayersBoxSizer
->
Add
(
OneColumnLayerBoxSizer
,
0
,
wxGROW
|
wxALL
,
5
);
LayersBoxSizer
->
Add
(
OneColumnLayerBoxSizer
,
0
,
wxGROW
|
wxALL
,
5
);
int
mask
=
1
;
int
mask
=
1
;
for
(
int
layer
=
0
;
layer
<
NB_LAYERS
;
layer
++
,
mask
<<=
1
)
for
(
int
layer
=
0
;
layer
<
NB_LAYERS
;
layer
++
,
mask
<<=
1
)
{
{
...
@@ -376,11 +378,33 @@ scale plotting" ) );
...
@@ -376,11 +378,33 @@ scale plotting" ) );
}
}
}
}
// Disable checkboxes if the corresponding layer is not enabled
for
(
int
layer
=
0
;
layer
<
NB_LAYERS
;
layer
++
,
mask
<<=
1
)
{
if
(
!
board
->
m_BoardSettings
->
IsLayerEnabled
(
layer
)
)
{
m_BoxSelectLayer
[
layer
]
->
Enable
(
false
);
m_BoxSelectLayer
[
layer
]
->
SetValue
(
false
);
}
}
// Option for using proper Gerber extensions
m_Use_Gerber_Extensions
=
new
wxCheckBox
(
this
,
ID_USE_GERBER_EXTENSIONS
,
_
(
"Use Proper Gerber Extensions"
)
);
long
ltmp
;
config
->
Read
(
OPTKEY_GERBER_EXTENSIONS
,
&
ltmp
);
m_Use_Gerber_Extensions
->
SetValue
(
ltmp
);
m_Use_Gerber_Extensions
->
SetToolTip
(
_
(
"Use Proper Gerber Extensions - .GBL, .GTL, etc..."
)
);
LeftBoxSizer
->
Add
(
m_Use_Gerber_Extensions
,
0
,
wxGROW
|
wxALL
,
1
);
// Option for excluding contents of "Edges Pcb" layer
// Option for excluding contents of "Edges Pcb" layer
m_Exclude_Edges_Pcb
=
new
wxCheckBox
(
this
,
m_Exclude_Edges_Pcb
=
new
wxCheckBox
(
this
,
ID_EXCLUDE_EDGES_PCB
,
ID_EXCLUDE_EDGES_PCB
,
_
(
"Exclude pcb edge layer"
)
);
_
(
"Exclude pcb edge layer"
)
);
m_Exclude_Edges_Pcb
->
SetValue
(
g_pcb_plot_options
.
Exclude_Edges_Pcb
);
m_Exclude_Edges_Pcb
->
SetValue
(
g_pcb_plot_options
.
Exclude_Edges_Pcb
);
m_Exclude_Edges_Pcb
->
SetToolTip
(
m_Exclude_Edges_Pcb
->
SetToolTip
(
...
@@ -391,7 +415,7 @@ scale plotting" ) );
...
@@ -391,7 +415,7 @@ scale plotting" ) );
if
(
m_Parent
->
m_Print_Sheet_Ref
)
if
(
m_Parent
->
m_Print_Sheet_Ref
)
{
{
m_Plot_Sheet_Ref
=
new
wxCheckBox
(
this
,
ID_PRINT_REF
,
m_Plot_Sheet_Ref
=
new
wxCheckBox
(
this
,
ID_PRINT_REF
,
_
(
"Print sheet reference"
)
);
_
(
"Print sheet reference"
)
);
m_Plot_Sheet_Ref
->
SetValue
(
g_pcb_plot_options
.
Plot_Frame_Ref
);
m_Plot_Sheet_Ref
->
SetValue
(
g_pcb_plot_options
.
Plot_Frame_Ref
);
LeftBoxSizer
->
Add
(
m_Plot_Sheet_Ref
,
0
,
wxGROW
|
wxALL
,
1
);
LeftBoxSizer
->
Add
(
m_Plot_Sheet_Ref
,
0
,
wxGROW
|
wxALL
,
1
);
...
@@ -401,12 +425,11 @@ scale plotting" ) );
...
@@ -401,12 +425,11 @@ scale plotting" ) );
// Option to plot pads on silkscreen layers or all layers
// Option to plot pads on silkscreen layers or all layers
m_Plot_Pads_on_Silkscreen
=
new
wxCheckBox
(
this
,
m_Plot_Pads_on_Silkscreen
=
new
wxCheckBox
(
this
,
ID_PRINT_PAD_ON_SILKSCREEN
,
ID_PRINT_PAD_ON_SILKSCREEN
,
_
(
"Print pads on silkscreen"
)
);
_
(
"Print pads on silkscreen"
)
);
if
(
config
)
config
->
Read
(
OPTKEY_PADS_ON_SILKSCREEN
,
config
->
Read
(
OPTKEY_PADS_ON_SILKSCREEN
,
&
g_pcb_plot_options
.
PlotPadsOnSilkLayer
);
&
g_pcb_plot_options
.
PlotPadsOnSilkLayer
);
m_Plot_Pads_on_Silkscreen
->
SetValue
(
&
g_pcb_plot_options
.
PlotPadsOnSilkLayer
);
m_Plot_Pads_on_Silkscreen
->
SetValue
(
&
g_pcb_plot_options
.
PlotPadsOnSilkLayer
);
m_Plot_Pads_on_Silkscreen
->
SetToolTip
(
m_Plot_Pads_on_Silkscreen
->
SetToolTip
(
...
@@ -414,10 +437,9 @@ scale plotting" ) );
...
@@ -414,10 +437,9 @@ scale plotting" ) );
LeftBoxSizer
->
Add
(
m_Plot_Pads_on_Silkscreen
,
0
,
wxGROW
|
wxALL
,
1
);
LeftBoxSizer
->
Add
(
m_Plot_Pads_on_Silkscreen
,
0
,
wxGROW
|
wxALL
,
1
);
m_Force_Plot_Pads
=
new
wxCheckBox
(
this
,
ID_FORCE_PRINT_PAD
,
m_Force_Plot_Pads
=
new
wxCheckBox
(
this
,
ID_FORCE_PRINT_PAD
,
_
(
"Always print pads"
)
);
_
(
"Always print pads"
)
);
if
(
config
)
config
->
Read
(
OPTKEY_ALWAYS_PRINT_PADS
,
config
->
Read
(
OPTKEY_ALWAYS_PRINT_PADS
,
&
g_pcb_plot_options
.
Plot_Pads_All_Layers
);
&
g_pcb_plot_options
.
Plot_Pads_All_Layers
);
m_Force_Plot_Pads
->
SetValue
(
g_pcb_plot_options
.
Plot_Pads_All_Layers
);
m_Force_Plot_Pads
->
SetValue
(
g_pcb_plot_options
.
Plot_Pads_All_Layers
);
m_Force_Plot_Pads
->
SetToolTip
(
_
(
"Force print/plot pads on ALL layers"
)
);
m_Force_Plot_Pads
->
SetToolTip
(
_
(
"Force print/plot pads on ALL layers"
)
);
...
@@ -425,7 +447,7 @@ scale plotting" ) );
...
@@ -425,7 +447,7 @@ scale plotting" ) );
// Options to plot texts on footprints
// Options to plot texts on footprints
m_Plot_Text_Value
=
new
wxCheckBox
(
this
,
ID_PRINT_VALUE
,
m_Plot_Text_Value
=
new
wxCheckBox
(
this
,
ID_PRINT_VALUE
,
_
(
"Print module value"
)
);
_
(
"Print module value"
)
);
m_Plot_Text_Value
->
SetValue
(
g_pcb_plot_options
.
Sel_Texte_Valeur
);
m_Plot_Text_Value
->
SetValue
(
g_pcb_plot_options
.
Sel_Texte_Valeur
);
m_Plot_Text_Value
->
SetToolTip
(
m_Plot_Text_Value
->
SetToolTip
(
...
@@ -433,7 +455,7 @@ scale plotting" ) );
...
@@ -433,7 +455,7 @@ scale plotting" ) );
LeftBoxSizer
->
Add
(
m_Plot_Text_Value
,
0
,
wxGROW
|
wxALL
,
1
);
LeftBoxSizer
->
Add
(
m_Plot_Text_Value
,
0
,
wxGROW
|
wxALL
,
1
);
m_Plot_Text_Ref
=
new
wxCheckBox
(
this
,
ID_PRINT_REF
,
m_Plot_Text_Ref
=
new
wxCheckBox
(
this
,
ID_PRINT_REF
,
_
(
"Print module reference"
)
);
_
(
"Print module reference"
)
);
m_Plot_Text_Ref
->
SetValue
(
g_pcb_plot_options
.
Sel_Texte_Reference
);
m_Plot_Text_Ref
->
SetValue
(
g_pcb_plot_options
.
Sel_Texte_Reference
);
m_Plot_Text_Ref
->
SetToolTip
(
m_Plot_Text_Ref
->
SetToolTip
(
...
@@ -441,7 +463,7 @@ scale plotting" ) );
...
@@ -441,7 +463,7 @@ scale plotting" ) );
LeftBoxSizer
->
Add
(
m_Plot_Text_Ref
,
0
,
wxGROW
|
wxALL
,
1
);
LeftBoxSizer
->
Add
(
m_Plot_Text_Ref
,
0
,
wxGROW
|
wxALL
,
1
);
m_Plot_Text_Div
=
new
wxCheckBox
(
this
,
ID_PRINT_MODULE_TEXTS
,
m_Plot_Text_Div
=
new
wxCheckBox
(
this
,
ID_PRINT_MODULE_TEXTS
,
_
(
"Print other module texts"
)
);
_
(
"Print other module texts"
)
);
m_Plot_Text_Div
->
SetValue
(
g_pcb_plot_options
.
Sel_Texte_Divers
);
m_Plot_Text_Div
->
SetValue
(
g_pcb_plot_options
.
Sel_Texte_Divers
);
m_Plot_Text_Div
->
SetToolTip
(
m_Plot_Text_Div
->
SetToolTip
(
...
@@ -449,8 +471,8 @@ scale plotting" ) );
...
@@ -449,8 +471,8 @@ scale plotting" ) );
LeftBoxSizer
->
Add
(
m_Plot_Text_Div
,
0
,
wxGROW
|
wxALL
,
1
);
LeftBoxSizer
->
Add
(
m_Plot_Text_Div
,
0
,
wxGROW
|
wxALL
,
1
);
m_Plot_Invisible_Text
=
new
wxCheckBox
(
this
,
m_Plot_Invisible_Text
=
new
wxCheckBox
(
this
,
ID_FORCE_PRINT_INVISIBLE_TEXT
,
ID_FORCE_PRINT_INVISIBLE_TEXT
,
_
(
"Force print invisible texts"
)
);
_
(
"Force print invisible texts"
)
);
m_Plot_Invisible_Text
->
SetValue
(
g_pcb_plot_options
.
Sel_Texte_Invisible
);
m_Plot_Invisible_Text
->
SetValue
(
g_pcb_plot_options
.
Sel_Texte_Invisible
);
m_Plot_Invisible_Text
->
SetToolTip
(
m_Plot_Invisible_Text
->
SetToolTip
(
...
@@ -458,7 +480,8 @@ scale plotting" ) );
...
@@ -458,7 +480,8 @@ scale plotting" ) );
LeftBoxSizer
->
Add
(
m_Plot_Invisible_Text
,
0
,
wxGROW
|
wxALL
,
1
);
LeftBoxSizer
->
Add
(
m_Plot_Invisible_Text
,
0
,
wxGROW
|
wxALL
,
1
);
static
const
wxString
drillmsg
[
3
]
=
{
static
const
wxString
drillmsg
[
3
]
=
{
_
(
"No drill mark"
),
_
(
"No drill mark"
),
_
(
"Small mark"
),
_
(
"Small mark"
),
_
(
"Real drill"
)
_
(
"Real drill"
)
...
@@ -489,8 +512,11 @@ scale plotting" ) );
...
@@ -489,8 +512,11 @@ scale plotting" ) );
m_Scale_Opt
->
SetSelection
(
g_pcb_plot_options
.
PlotScaleOpt
);
m_Scale_Opt
->
SetSelection
(
g_pcb_plot_options
.
PlotScaleOpt
);
MidLeftBoxSizer
->
Add
(
m_Scale_Opt
,
0
,
wxGROW
|
wxALL
,
5
);
MidLeftBoxSizer
->
Add
(
m_Scale_Opt
,
0
,
wxGROW
|
wxALL
,
5
);
static
const
wxString
list_opt3
[
3
]
=
{
_
(
"Line"
),
_
(
"Filled"
),
static
const
wxString
list_opt3
[
3
]
=
_
(
"Sketch"
)
};
{
_
(
"Line"
),
_
(
"Filled"
),
_
(
"Sketch"
)
};
m_PlotModeOpt
=
new
wxRadioBox
(
this
,
ID_PLOT_MODE_OPT
,
_
(
"Plot Mode"
),
m_PlotModeOpt
=
new
wxRadioBox
(
this
,
ID_PLOT_MODE_OPT
,
_
(
"Plot Mode"
),
wxDefaultPosition
,
wxDefaultSize
,
wxDefaultPosition
,
wxDefaultSize
,
...
@@ -500,13 +526,13 @@ scale plotting" ) );
...
@@ -500,13 +526,13 @@ scale plotting" ) );
MidLeftBoxSizer
->
Add
(
m_PlotModeOpt
,
0
,
wxGROW
|
wxALL
,
5
);
MidLeftBoxSizer
->
Add
(
m_PlotModeOpt
,
0
,
wxGROW
|
wxALL
,
5
);
m_PlotMirorOpt
=
new
wxCheckBox
(
this
,
ID_MIROR_OPT
,
m_PlotMirorOpt
=
new
wxCheckBox
(
this
,
ID_MIROR_OPT
,
_
(
"Plot mirror"
)
);
_
(
"Plot mirror"
)
);
m_PlotMirorOpt
->
SetValue
(
g_pcb_plot_options
.
Plot_Set_MIROIR
);
m_PlotMirorOpt
->
SetValue
(
g_pcb_plot_options
.
Plot_Set_MIROIR
);
MidLeftBoxSizer
->
Add
(
m_PlotMirorOpt
,
0
,
wxGROW
|
wxALL
,
5
);
MidLeftBoxSizer
->
Add
(
m_PlotMirorOpt
,
0
,
wxGROW
|
wxALL
,
5
);
m_PlotNoViaOnMaskOpt
=
new
wxCheckBox
(
this
,
ID_MASKVIA_OPT
,
m_PlotNoViaOnMaskOpt
=
new
wxCheckBox
(
this
,
ID_MASKVIA_OPT
,
_
(
"Vias on mask"
)
);
_
(
"Vias on mask"
)
);
m_PlotNoViaOnMaskOpt
->
SetValue
(
g_pcb_plot_options
.
DrawViaOnMaskLayer
);
m_PlotNoViaOnMaskOpt
->
SetValue
(
g_pcb_plot_options
.
DrawViaOnMaskLayer
);
m_PlotNoViaOnMaskOpt
->
SetToolTip
(
m_PlotNoViaOnMaskOpt
->
SetToolTip
(
...
@@ -526,7 +552,7 @@ scale plotting" ) );
...
@@ -526,7 +552,7 @@ scale plotting" ) );
}
}
void
WinEDA_PlotFrame
::
OnQuit
(
wxCommandEvent
&
WXUNUSED
(
event
)
)
void
WinEDA_PlotFrame
::
OnQuit
(
wxCommandEvent
&
WXUNUSED
(
event
)
)
{
{
Close
(
true
);
// true is to force the frame to close
Close
(
true
);
// true is to force the frame to close
}
}
...
@@ -543,16 +569,19 @@ void WinEDA_PlotFrame::CreateDrillFile( wxCommandEvent& event )
...
@@ -543,16 +569,19 @@ void WinEDA_PlotFrame::CreateDrillFile( wxCommandEvent& event )
(
(
WinEDA_PcbFrame
*
)
m_Parent
)
->
InstallDrillFrame
(
event
);
(
(
WinEDA_PcbFrame
*
)
m_Parent
)
->
InstallDrillFrame
(
event
);
}
}
void
WinEDA_PlotFrame
::
OnSetScaleOpt
(
wxCommandEvent
&
event
)
void
WinEDA_PlotFrame
::
OnSetScaleOpt
(
wxCommandEvent
&
event
)
{
{
/* Disable sheet reference for scale != 1:1 */
/* Disable sheet reference for scale != 1:1 */
bool
scale1
=
(
m_Scale_Opt
->
GetSelection
()
==
1
);
bool
scale1
=
(
m_Scale_Opt
->
GetSelection
()
==
1
);
m_Plot_Sheet_Ref
->
Enable
(
scale1
);
m_Plot_Sheet_Ref
->
Enable
(
scale1
);
if
(
!
scale1
)
if
(
!
scale1
)
m_Plot_Sheet_Ref
->
SetValue
(
false
);
m_Plot_Sheet_Ref
->
SetValue
(
false
);
}
}
void
WinEDA_PlotFrame
::
SetCommands
(
wxCommandEvent
&
event
)
void
WinEDA_PlotFrame
::
SetCommands
(
wxCommandEvent
&
event
)
{
{
int
format
=
getFormat
();
int
format
=
getFormat
();
...
@@ -572,6 +601,7 @@ void WinEDA_PlotFrame::SetCommands( wxCommandEvent& event )
...
@@ -572,6 +601,7 @@ void WinEDA_PlotFrame::SetCommands( wxCommandEvent& event )
m_HPGLPenOverlayOpt
->
Enable
(
false
);
m_HPGLPenOverlayOpt
->
Enable
(
false
);
m_Exclude_Edges_Pcb
->
SetValue
(
false
);
m_Exclude_Edges_Pcb
->
SetValue
(
false
);
m_Exclude_Edges_Pcb
->
Enable
(
false
);
m_Exclude_Edges_Pcb
->
Enable
(
false
);
m_Use_Gerber_Extensions
->
Enable
(
false
);
m_Scale_Opt
->
Enable
(
true
);
m_Scale_Opt
->
Enable
(
true
);
m_FineAdjustXscaleOpt
->
Enable
(
true
);
m_FineAdjustXscaleOpt
->
Enable
(
true
);
m_FineAdjustYscaleOpt
->
Enable
(
true
);
m_FineAdjustYscaleOpt
->
Enable
(
true
);
...
@@ -591,6 +621,7 @@ void WinEDA_PlotFrame::SetCommands( wxCommandEvent& event )
...
@@ -591,6 +621,7 @@ void WinEDA_PlotFrame::SetCommands( wxCommandEvent& event )
m_HPGLPenSpeedOpt
->
Enable
(
false
);
m_HPGLPenSpeedOpt
->
Enable
(
false
);
m_HPGLPenOverlayOpt
->
Enable
(
false
);
m_HPGLPenOverlayOpt
->
Enable
(
false
);
m_Exclude_Edges_Pcb
->
Enable
(
true
);
m_Exclude_Edges_Pcb
->
Enable
(
true
);
m_Use_Gerber_Extensions
->
Enable
(
true
);
m_Scale_Opt
->
SetSelection
(
1
);
m_Scale_Opt
->
SetSelection
(
1
);
m_Scale_Opt
->
Enable
(
false
);
m_Scale_Opt
->
Enable
(
false
);
m_FineAdjustXscaleOpt
->
Enable
(
false
);
m_FineAdjustXscaleOpt
->
Enable
(
false
);
...
@@ -611,6 +642,7 @@ void WinEDA_PlotFrame::SetCommands( wxCommandEvent& event )
...
@@ -611,6 +642,7 @@ void WinEDA_PlotFrame::SetCommands( wxCommandEvent& event )
m_HPGLPenOverlayOpt
->
Enable
(
true
);
m_HPGLPenOverlayOpt
->
Enable
(
true
);
m_Exclude_Edges_Pcb
->
SetValue
(
false
);
m_Exclude_Edges_Pcb
->
SetValue
(
false
);
m_Exclude_Edges_Pcb
->
Enable
(
false
);
m_Exclude_Edges_Pcb
->
Enable
(
false
);
m_Use_Gerber_Extensions
->
Enable
(
false
);
m_Scale_Opt
->
Enable
(
true
);
m_Scale_Opt
->
Enable
(
true
);
m_FineAdjustXscaleOpt
->
Enable
(
false
);
m_FineAdjustXscaleOpt
->
Enable
(
false
);
m_FineAdjustYscaleOpt
->
Enable
(
false
);
m_FineAdjustYscaleOpt
->
Enable
(
false
);
...
@@ -631,6 +663,7 @@ void WinEDA_PlotFrame::SetCommands( wxCommandEvent& event )
...
@@ -631,6 +663,7 @@ void WinEDA_PlotFrame::SetCommands( wxCommandEvent& event )
m_HPGLPenOverlayOpt
->
Enable
(
false
);
m_HPGLPenOverlayOpt
->
Enable
(
false
);
m_Exclude_Edges_Pcb
->
SetValue
(
false
);
m_Exclude_Edges_Pcb
->
SetValue
(
false
);
m_Exclude_Edges_Pcb
->
Enable
(
false
);
m_Exclude_Edges_Pcb
->
Enable
(
false
);
m_Use_Gerber_Extensions
->
Enable
(
false
);
m_Scale_Opt
->
Enable
(
false
);
m_Scale_Opt
->
Enable
(
false
);
m_Scale_Opt
->
SetSelection
(
1
);
m_Scale_Opt
->
SetSelection
(
1
);
m_FineAdjustXscaleOpt
->
Enable
(
false
);
m_FineAdjustXscaleOpt
->
Enable
(
false
);
...
@@ -670,7 +703,7 @@ void WinEDA_PlotFrame::SaveOptPlot( wxCommandEvent& event )
...
@@ -670,7 +703,7 @@ void WinEDA_PlotFrame::SaveOptPlot( wxCommandEvent& event )
g_pcb_plot_options
.
PlotOrient
=
PLOT_MIROIR
;
g_pcb_plot_options
.
PlotOrient
=
PLOT_MIROIR
;
else
else
g_pcb_plot_options
.
PlotOrient
=
0
;
g_pcb_plot_options
.
PlotOrient
=
0
;
g_pcb_plot_options
.
Trace_Mode
=
(
GRTraceMode
)
m_PlotModeOpt
->
GetSelection
();
g_pcb_plot_options
.
Trace_Mode
=
(
GRTraceMode
)
m_PlotModeOpt
->
GetSelection
();
g_pcb_plot_options
.
DrawViaOnMaskLayer
=
m_PlotNoViaOnMaskOpt
->
GetValue
();
g_pcb_plot_options
.
DrawViaOnMaskLayer
=
m_PlotNoViaOnMaskOpt
->
GetValue
();
g_pcb_plot_options
.
HPGL_Pen_Diam
=
m_HPGLPenSizeOpt
->
GetValue
();
g_pcb_plot_options
.
HPGL_Pen_Diam
=
m_HPGLPenSizeOpt
->
GetValue
();
...
@@ -683,28 +716,27 @@ void WinEDA_PlotFrame::SaveOptPlot( wxCommandEvent& event )
...
@@ -683,28 +716,27 @@ void WinEDA_PlotFrame::SaveOptPlot( wxCommandEvent& event )
wxConfig
*
config
=
wxGetApp
().
m_EDA_Config
;
wxConfig
*
config
=
wxGetApp
().
m_EDA_Config
;
if
(
config
)
config
->
Write
(
OPTKEY_EDGELAYER_GERBER
,
g_pcb_plot_options
.
Exclude_Edges_Pcb
);
config
->
Write
(
OPTKEY_GERBER_EXTENSIONS
,
m_Use_Gerber_Extensions
->
GetValue
()
);
config
->
Write
(
OPTKEY_XFINESCALE_ADJ
,
m_XScaleAdjust
);
config
->
Write
(
OPTKEY_YFINESCALE_ADJ
,
m_YScaleAdjust
);
config
->
Write
(
OPTKEY_PADS_ON_SILKSCREEN
,
g_pcb_plot_options
.
PlotPadsOnSilkLayer
);
config
->
Write
(
OPTKEY_ALWAYS_PRINT_PADS
,
g_pcb_plot_options
.
Plot_Pads_All_Layers
);
int
formatNdx
=
m_PlotFormatOpt
->
GetSelection
();
config
->
Write
(
OPTKEY_OUTPUT_FORMAT
,
formatNdx
);
config
->
Write
(
OPTKEY_PLOT_LINEWIDTH_VALUE
,
g_pcb_plot_options
.
PlotLine_Width
);
wxString
layerKey
;
for
(
int
layer
=
0
;
layer
<
NB_LAYERS
;
++
layer
)
{
{
config
->
Write
(
OPTKEY_EDGELAYER_GERBER
,
layerKey
.
Printf
(
OPTKEY_LAYERBASE
,
layer
);
g_pcb_plot_options
.
Exclude_Edges_Pcb
);
config
->
Write
(
layerKey
,
m_BoxSelectLayer
[
layer
]
->
IsChecked
()
);
config
->
Write
(
OPTKEY_XFINESCALE_ADJ
,
m_XScaleAdjust
);
config
->
Write
(
OPTKEY_YFINESCALE_ADJ
,
m_YScaleAdjust
);
config
->
Write
(
OPTKEY_PADS_ON_SILKSCREEN
,
g_pcb_plot_options
.
PlotPadsOnSilkLayer
);
config
->
Write
(
OPTKEY_ALWAYS_PRINT_PADS
,
g_pcb_plot_options
.
Plot_Pads_All_Layers
);
int
formatNdx
=
m_PlotFormatOpt
->
GetSelection
();
config
->
Write
(
OPTKEY_OUTPUT_FORMAT
,
formatNdx
);
config
->
Write
(
OPTKEY_PLOT_LINEWIDTH_VALUE
,
g_pcb_plot_options
.
PlotLine_Width
);
wxString
layerKey
;
for
(
int
layer
=
0
;
layer
<
NB_LAYERS
;
++
layer
)
{
layerKey
.
Printf
(
OPTKEY_LAYERBASE
,
layer
);
config
->
Write
(
layerKey
,
m_BoxSelectLayer
[
layer
]
->
IsChecked
()
);
}
}
}
g_pcb_plot_options
.
Plot_PS_Negative
=
m_Plot_PS_Negative
->
GetValue
();
g_pcb_plot_options
.
Plot_PS_Negative
=
m_Plot_PS_Negative
->
GetValue
();
...
@@ -764,8 +796,8 @@ void WinEDA_PlotFrame::Plot( wxCommandEvent& event )
...
@@ -764,8 +796,8 @@ void WinEDA_PlotFrame::Plot( wxCommandEvent& event )
case
PLOT_FORMAT_GERBER
:
case
PLOT_FORMAT_GERBER
:
g_pcb_plot_options
.
Scale
=
1.0
;
// No scale option allowed in gerber format
g_pcb_plot_options
.
Scale
=
1.0
;
// No scale option allowed in gerber format
ext
=
wxT
(
"pho"
);
ext
=
wxT
(
"pho"
);
wildcard
=
_
(
"GERBER photo plot files (.pho
)|*.pho
"
);
wildcard
=
_
(
"GERBER photo plot files (.pho
.gbr)|*.pho;*.gbr
"
);
break
;
break
;
case
PLOT_FORMAT_HPGL
:
case
PLOT_FORMAT_HPGL
:
...
@@ -783,10 +815,10 @@ void WinEDA_PlotFrame::Plot( wxCommandEvent& event )
...
@@ -783,10 +815,10 @@ void WinEDA_PlotFrame::Plot( wxCommandEvent& event )
// Test for a reasonable scale value
// Test for a reasonable scale value
if
(
g_pcb_plot_options
.
Scale
<
MIN_SCALE
)
if
(
g_pcb_plot_options
.
Scale
<
MIN_SCALE
)
DisplayInfoMessage
(
this
,
DisplayInfoMessage
(
this
,
_
(
"Warning: Scale option set to a very small value"
)
);
_
(
"Warning: Scale option set to a very small value"
)
);
if
(
g_pcb_plot_options
.
Scale
>
MAX_SCALE
)
if
(
g_pcb_plot_options
.
Scale
>
MAX_SCALE
)
DisplayInfoMessage
(
this
,
DisplayInfoMessage
(
this
,
_
(
"Warning: Scale option set to a very large value"
)
);
_
(
"Warning: Scale option set to a very large value"
)
);
int
mask
=
1
;
int
mask
=
1
;
s_SelectedLayers
=
0
;
s_SelectedLayers
=
0
;
...
@@ -802,9 +834,90 @@ void WinEDA_PlotFrame::Plot( wxCommandEvent& event )
...
@@ -802,9 +834,90 @@ void WinEDA_PlotFrame::Plot( wxCommandEvent& event )
fn
=
m_Parent
->
GetScreen
()
->
m_FileName
;
fn
=
m_Parent
->
GetScreen
()
->
m_FileName
;
// Create file name.
// Create file name.
fn
.
SetName
(
fn
.
GetName
()
+
wxT
(
"-"
)
+
wxString
layername
=
board
->
GetLayerName
(
layer_to_plot
);
board
->
GetLayerName
(
layer_to_plot
)
);
layername
.
Trim
(
true
);
layername
.
Trim
(
false
);
// remove leading and trailing spaces if any
fn
.
SetExt
(
ext
);
fn
.
SetName
(
fn
.
GetName
()
+
wxT
(
"-"
)
+
layername
);
// Use Gerber Extensions based on layer number
// (See http://en.wikipedia.org/wiki/Gerber_File)
if
(
(
format
==
PLOT_FORMAT_GERBER
)
&&
m_Use_Gerber_Extensions
->
GetValue
()
)
{
switch
(
layer_to_plot
)
{
case
LAYER_N_FRONT
:
fn
.
SetExt
(
wxT
(
"gtl"
)
);
break
;
case
LAYER_N_2
:
case
LAYER_N_3
:
case
LAYER_N_4
:
case
LAYER_N_5
:
case
LAYER_N_6
:
case
LAYER_N_7
:
case
LAYER_N_8
:
case
LAYER_N_9
:
case
LAYER_N_10
:
case
LAYER_N_11
:
case
LAYER_N_12
:
case
LAYER_N_13
:
case
LAYER_N_14
:
case
LAYER_N_15
:
// TODO: use g1 to gxx according to the
// new internal layers designation
// (1 is the first internal layer from the front layer)
fn
.
SetExt
(
wxT
(
"gbr"
)
);
break
;
case
LAYER_N_BACK
:
fn
.
SetExt
(
wxT
(
"gbl"
)
);
break
;
case
ADHESIVE_N_BACK
:
fn
.
SetExt
(
wxT
(
"gba"
)
);
break
;
case
ADHESIVE_N_FRONT
:
fn
.
SetExt
(
wxT
(
"gta"
)
);
break
;
case
SOLDERPASTE_N_BACK
:
fn
.
SetExt
(
wxT
(
"gbp"
)
);
break
;
case
SOLDERPASTE_N_FRONT
:
fn
.
SetExt
(
wxT
(
"gtp"
)
);
break
;
case
SILKSCREEN_N_BACK
:
fn
.
SetExt
(
wxT
(
"gbo"
)
);
break
;
case
SILKSCREEN_N_FRONT
:
fn
.
SetExt
(
wxT
(
"gto"
)
);
break
;
case
SOLDERMASK_N_BACK
:
fn
.
SetExt
(
wxT
(
"gbs"
)
);
break
;
case
SOLDERMASK_N_FRONT
:
fn
.
SetExt
(
wxT
(
"gts"
)
);
break
;
case
DRAW_N
:
case
COMMENT_N
:
case
ECO1_N
:
case
ECO2_N
:
case
EDGE_N
:
fn
.
SetExt
(
wxT
(
"gbr"
)
);
break
;
}
}
else
{
fn
.
SetExt
(
ext
);
}
switch
(
format
)
switch
(
format
)
{
{
...
@@ -816,7 +929,7 @@ void WinEDA_PlotFrame::Plot( wxCommandEvent& event )
...
@@ -816,7 +929,7 @@ void WinEDA_PlotFrame::Plot( wxCommandEvent& event )
case
PLOT_FORMAT_GERBER
:
case
PLOT_FORMAT_GERBER
:
m_Parent
->
Genere_GERBER
(
fn
.
GetFullPath
(),
layer_to_plot
,
m_Parent
->
Genere_GERBER
(
fn
.
GetFullPath
(),
layer_to_plot
,
s_PlotOriginIsAuxAxis
,
s_PlotOriginIsAuxAxis
,
g_pcb_plot_options
.
Trace_Mode
);
g_pcb_plot_options
.
Trace_Mode
);
break
;
break
;
case
PLOT_FORMAT_HPGL
:
case
PLOT_FORMAT_HPGL
:
...
...
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