Some enhancements and fixes. (see changelog)
This commit is contained in:
parent
cacb22252c
commit
a1998410fc
|
@ -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
|
||||||
|
|
|
@ -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 )
|
||||||
|
|
||||||
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
|
||||||
|
|
|
@ -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 )
|
||||||
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 )
|
||||||
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,
|
||||||
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,
|
||||||
/*
|
/*
|
||||||
* 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,
|
||||||
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,
|
||||||
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,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 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, wxDC* DC,
|
||||||
void GRSFilledRect( EDA_Rect* ClipBox,
|
int x1, int y1, int x2, int y2,
|
||||||
wxDC* DC,
|
int width, int Color, int BgColor )
|
||||||
int x1,
|
|
||||||
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,
|
||||||
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,
|
||||||
++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
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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 )
|
||||||
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() );
|
||||||
|
|
|
@ -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();
|
||||||
|
|
|
@ -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
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -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,
|
||||||
{
|
{
|
||||||
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 )
|
||||||
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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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()
|
||||||
// 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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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 )
|
||||||
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;
|
||||||
|
|
||||||
|
|
|
@ -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 @@
|
||||||
#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
|
||||||
|
|
|
@ -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|" );
|
||||||
|
|
|
@ -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; }
|
||||||
|
|
|
@ -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 );
|
||||||
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 */
|
||||||
|
|
Binary file not shown.
|
@ -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"
|
||||||
msgid "&Help"
|
msgid "&Help"
|
||||||
msgstr "&Aide"
|
msgstr "&Aide"
|
||||||
|
|
||||||
#: pcbnew/pcbplot.cpp:178
|
#: pcbnew/pcbplot.cpp:184
|
||||||
#: pcbnew/pcbplot.cpp:327
|
#: pcbnew/pcbplot.cpp:328
|
||||||
msgid "Plot"
|
msgid "Plot"
|
||||||
msgstr "Tracer"
|
msgstr "Tracer"
|
||||||
|
|
||||||
#: pcbnew/pcbplot.cpp:226
|
#: pcbnew/pcbplot.cpp:232
|
||||||
msgid "Plot Format"
|
msgid "Plot Format"
|
||||||
msgstr "Format de tracé"
|
msgstr "Format de tracé"
|
||||||
|
|
||||||
#: pcbnew/pcbplot.cpp:240
|
#: pcbnew/pcbplot.cpp:243
|
||||||
msgid "HPGL Options:"
|
msgid "HPGL Options:"
|
||||||
msgstr "Options HPGL:"
|
msgstr "Options HPGL:"
|
||||||
|
|
||||||
#: pcbnew/pcbplot.cpp:245
|
#: pcbnew/pcbplot.cpp:248
|
||||||
msgid "Pen size"
|
msgid "Pen size"
|
||||||
msgstr "Diam plume"
|
msgstr "Diam plume"
|
||||||
|
|
||||||
#: pcbnew/pcbplot.cpp:252
|
#: pcbnew/pcbplot.cpp:255
|
||||||
msgid "Pen Speed (cm/s)"
|
msgid "Pen Speed (cm/s)"
|
||||||
msgstr "Vitesse Plume ( cm/s )"
|
msgstr "Vitesse Plume ( cm/s )"
|
||||||
|
|
||||||
#: pcbnew/pcbplot.cpp:256
|
#: pcbnew/pcbplot.cpp:259
|
||||||
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:258
|
#: pcbnew/pcbplot.cpp:261
|
||||||
msgid "Pen ovr"
|
msgid "Pen ovr"
|
||||||
msgstr "Recouvrement"
|
msgstr "Recouvrement"
|
||||||
|
|
||||||
#: pcbnew/pcbplot.cpp:264
|
#: pcbnew/pcbplot.cpp:267
|
||||||
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:266
|
#: pcbnew/pcbplot.cpp:269
|
||||||
msgid "Line width"
|
msgid "Line width"
|
||||||
msgstr "Epaisseur ligne"
|
msgstr "Epaisseur ligne"
|
||||||
|
|
||||||
#: pcbnew/pcbplot.cpp:272
|
#: pcbnew/pcbplot.cpp:276
|
||||||
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:277
|
#: pcbnew/pcbplot.cpp:281
|
||||||
msgid "Absolute"
|
msgid "Absolute"
|
||||||
msgstr "Absolu"
|
msgstr "Absolu"
|
||||||
|
|
||||||
#: pcbnew/pcbplot.cpp:277
|
#: pcbnew/pcbplot.cpp:281
|
||||||
msgid "Auxiliary axis"
|
msgid "Auxiliary axis"
|
||||||
msgstr "Axe Auxiliaire"
|
msgstr "Axe Auxiliaire"
|
||||||
|
|
||||||
#: pcbnew/pcbplot.cpp:280
|
#: pcbnew/pcbplot.cpp:284
|
||||||
msgid "Plot Origin"
|
msgid "Plot Origin"
|
||||||
msgstr "Origine des Coord de Tracé"
|
msgstr "Origine des Coord de Tracé"
|
||||||
|
|
||||||
#: pcbnew/pcbplot.cpp:308
|
#: pcbnew/pcbplot.cpp:309
|
||||||
msgid "X scale adjust"
|
msgid "X scale adjust"
|
||||||
msgstr "Ajustage Echelle X"
|
msgstr "Ajustage Echelle X"
|
||||||
|
|
||||||
#: pcbnew/pcbplot.cpp:311
|
#: pcbnew/pcbplot.cpp:312
|
||||||
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:315
|
#: pcbnew/pcbplot.cpp:316
|
||||||
msgid "Y scale adjust"
|
msgid "Y scale adjust"
|
||||||
msgstr "Ajustage Echelle Y"
|
msgstr "Ajustage Echelle Y"
|
||||||
|
|
||||||
#: pcbnew/pcbplot.cpp:318
|
#: pcbnew/pcbplot.cpp:319
|
||||||
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:321
|
#: pcbnew/pcbplot.cpp:322
|
||||||
msgid "Plot negative"
|
msgid "Plot negative"
|
||||||
msgstr "Tracé en Négatif"
|
msgstr "Tracé en Négatif"
|
||||||
|
|
||||||
#: pcbnew/pcbplot.cpp:330
|
#: pcbnew/pcbplot.cpp:331
|
||||||
msgid "Save Options"
|
msgid "Save Options"
|
||||||
msgstr "Sauver Options"
|
msgstr "Sauver Options"
|
||||||
|
|
||||||
#: pcbnew/pcbplot.cpp:334
|
#: pcbnew/pcbplot.cpp:335
|
||||||
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:337
|
#: pcbnew/pcbplot.cpp:338
|
||||||
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:405
|
#: pcbnew/pcbplot.cpp:419
|
||||||
msgid "Print pads on silkscreen"
|
msgid "Print pads on silkscreen"
|
||||||
msgstr "Pads sur Sérigraphie"
|
msgstr "Pads sur Sérigraphie"
|
||||||
|
|
||||||
#: pcbnew/pcbplot.cpp:413
|
#: pcbnew/pcbplot.cpp:426
|
||||||
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:417
|
#: pcbnew/pcbplot.cpp:430
|
||||||
msgid "Always print pads"
|
msgid "Always print pads"
|
||||||
msgstr "Toujours tracer pads"
|
msgstr "Toujours tracer pads"
|
||||||
|
|
||||||
#: pcbnew/pcbplot.cpp:423
|
#: pcbnew/pcbplot.cpp:435
|
||||||
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:428
|
#: pcbnew/pcbplot.cpp:440
|
||||||
msgid "Print module value"
|
msgid "Print module value"
|
||||||
msgstr "Imprimer Valeur Module"
|
msgstr "Imprimer Valeur Module"
|
||||||
|
|
||||||
#: pcbnew/pcbplot.cpp:432
|
#: pcbnew/pcbplot.cpp:444
|
||||||
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:436
|
#: pcbnew/pcbplot.cpp:448
|
||||||
msgid "Print module reference"
|
msgid "Print module reference"
|
||||||
msgstr "Imprimer Référence Module"
|
msgstr "Imprimer Référence Module"
|
||||||
|
|
||||||
#: pcbnew/pcbplot.cpp:440
|
#: pcbnew/pcbplot.cpp:452
|
||||||
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:444
|
#: pcbnew/pcbplot.cpp:456
|
||||||
msgid "Print other module texts"
|
msgid "Print other module texts"
|
||||||
msgstr "Imprimer autres textes module"
|
msgstr "Imprimer autres textes module"
|
||||||
|
|
||||||
#: pcbnew/pcbplot.cpp:448
|
#: pcbnew/pcbplot.cpp:460
|
||||||
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:453
|
#: pcbnew/pcbplot.cpp:465
|
||||||
msgid "Force print invisible texts"
|
msgid "Force print invisible texts"
|
||||||
msgstr "Force tracé textes invisibles"
|
msgstr "Force tracé textes invisibles"
|
||||||
|
|
||||||
#: pcbnew/pcbplot.cpp:457
|
#: pcbnew/pcbplot.cpp:469
|
||||||
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:462
|
#: pcbnew/pcbplot.cpp:475
|
||||||
msgid "No drill mark"
|
msgid "No drill mark"
|
||||||
msgstr "Pas de marque"
|
msgstr "Pas de marque"
|
||||||
|
|
||||||
#: pcbnew/pcbplot.cpp:463
|
#: pcbnew/pcbplot.cpp:476
|
||||||
msgid "Small mark"
|
msgid "Small mark"
|
||||||
msgstr "Petite marque"
|
msgstr "Petite marque"
|
||||||
|
|
||||||
#: pcbnew/pcbplot.cpp:464
|
#: pcbnew/pcbplot.cpp:477
|
||||||
msgid "Real drill"
|
msgid "Real drill"
|
||||||
msgstr "Perçage réel"
|
msgstr "Perçage réel"
|
||||||
|
|
||||||
#: pcbnew/pcbplot.cpp:468
|
#: pcbnew/pcbplot.cpp:481
|
||||||
msgid "Pads Drill Opt"
|
msgid "Pads Drill Opt"
|
||||||
msgstr "Options Perçage Pads"
|
msgstr "Options Perçage Pads"
|
||||||
|
|
||||||
#: pcbnew/pcbplot.cpp:477
|
#: pcbnew/pcbplot.cpp:490
|
||||||
msgid "Auto scale"
|
msgid "Auto scale"
|
||||||
msgstr "Ech. auto"
|
msgstr "Ech. auto"
|
||||||
|
|
||||||
#: pcbnew/pcbplot.cpp:478
|
#: pcbnew/pcbplot.cpp:491
|
||||||
msgid "Scale 1"
|
msgid "Scale 1"
|
||||||
msgstr "Echelle 1"
|
msgstr "Echelle 1"
|
||||||
|
|
||||||
#: pcbnew/pcbplot.cpp:479
|
#: pcbnew/pcbplot.cpp:492
|
||||||
msgid "Scale 1.5"
|
msgid "Scale 1.5"
|
||||||
msgstr "Echelle 1,5"
|
msgstr "Echelle 1,5"
|
||||||
|
|
||||||
#: pcbnew/pcbplot.cpp:480
|
#: pcbnew/pcbplot.cpp:493
|
||||||
msgid "Scale 2"
|
msgid "Scale 2"
|
||||||
msgstr "Echelle 2"
|
msgstr "Echelle 2"
|
||||||
|
|
||||||
#: pcbnew/pcbplot.cpp:481
|
#: pcbnew/pcbplot.cpp:494
|
||||||
msgid "Scale 3"
|
msgid "Scale 3"
|
||||||
msgstr "Echelle 3"
|
msgstr "Echelle 3"
|
||||||
|
|
||||||
#: pcbnew/pcbplot.cpp:485
|
#: pcbnew/pcbplot.cpp:498
|
||||||
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:503
|
#: pcbnew/pcbplot.cpp:519
|
||||||
msgid "Plot mirror"
|
msgid "Plot mirror"
|
||||||
msgstr "Tracé Miroir"
|
msgstr "Tracé Miroir"
|
||||||
|
|
||||||
#: pcbnew/pcbplot.cpp:509
|
#: pcbnew/pcbplot.cpp:525
|
||||||
msgid "Vias on mask"
|
msgid "Vias on mask"
|
||||||
msgstr "Vias sur masque"
|
msgstr "Vias sur masque"
|
||||||
|
|
||||||
#: pcbnew/pcbplot.cpp:513
|
#: pcbnew/pcbplot.cpp:529
|
||||||
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:762
|
#: pcbnew/pcbplot.cpp:784
|
||||||
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:768
|
#: pcbnew/pcbplot.cpp:790
|
||||||
msgid "GERBER photo plot files (.pho)|*.pho"
|
msgid "GERBER photo plot files (.pho .gbr)|*.pho;*.gbr"
|
||||||
msgstr "Fichiers phottraçage GERBER (.pho)|*.pho"
|
msgstr "Fichiers photraç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"
|
||||||
msgid "Current"
|
msgid "Current"
|
||||||
msgstr "Courant"
|
msgstr "Courant"
|
||||||
|
|
||||||
#: eeschema/class_sch_component.cpp:1103
|
#: eeschema/class_sch_component.cpp:1114
|
||||||
msgid "Power symbol"
|
msgid "Power symbol"
|
||||||
msgstr "Symbole d'alimentation"
|
msgstr "Symbole d'alimentation"
|
||||||
|
|
||||||
|
@ -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:123
|
#: kicad/treeprj_frame.cpp:126
|
||||||
msgid "&Run"
|
msgid "&Run"
|
||||||
msgstr "Exécute&r"
|
msgstr "Exécute&r"
|
||||||
|
|
||||||
#: kicad/treeprj_frame.cpp:124
|
#: kicad/treeprj_frame.cpp:127
|
||||||
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:133
|
#: kicad/treeprj_frame.cpp:136
|
||||||
#: kicad/treeprj_frame.cpp:208
|
#: kicad/treeprj_frame.cpp:211
|
||||||
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:134
|
#: kicad/treeprj_frame.cpp:137
|
||||||
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:151
|
#: kicad/treeprj_frame.cpp:154
|
||||||
msgid "New D&irectory"
|
msgid "New D&irectory"
|
||||||
msgstr "&Nouveau Répertoire"
|
msgstr "&Nouveau Répertoire"
|
||||||
|
|
||||||
#: kicad/treeprj_frame.cpp:152
|
#: kicad/treeprj_frame.cpp:155
|
||||||
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:161
|
#: kicad/treeprj_frame.cpp:164
|
||||||
msgid "New P&ython Script"
|
msgid "New P&ython Script"
|
||||||
msgstr "Nouveau Script P&ython"
|
msgstr "Nouveau Script P&ython"
|
||||||
|
|
||||||
#: kicad/treeprj_frame.cpp:162
|
#: kicad/treeprj_frame.cpp:165
|
||||||
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:171
|
#: kicad/treeprj_frame.cpp:174
|
||||||
msgid "New &Text File"
|
msgid "New &Text File"
|
||||||
msgstr "Nouveau Fichier &Texte"
|
msgstr "Nouveau Fichier &Texte"
|
||||||
|
|
||||||
#: kicad/treeprj_frame.cpp:172
|
#: kicad/treeprj_frame.cpp:175
|
||||||
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:180
|
#: kicad/treeprj_frame.cpp:183
|
||||||
msgid "New &File"
|
msgid "New &File"
|
||||||
msgstr "Nouveau &Fichier"
|
msgstr "Nouveau &Fichier"
|
||||||
|
|
||||||
#: kicad/treeprj_frame.cpp:181
|
#: kicad/treeprj_frame.cpp:184
|
||||||
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:195
|
#: kicad/treeprj_frame.cpp:198
|
||||||
msgid "&Rename file"
|
msgid "&Rename file"
|
||||||
msgstr "&Renommer fichier"
|
msgstr "&Renommer fichier"
|
||||||
|
|
||||||
#: kicad/treeprj_frame.cpp:196
|
#: kicad/treeprj_frame.cpp:199
|
||||||
#: 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:209
|
#: kicad/treeprj_frame.cpp:212
|
||||||
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:217
|
#: kicad/treeprj_frame.cpp:220
|
||||||
msgid "&Delete File"
|
msgid "&Delete File"
|
||||||
msgstr "&Supprimer Fichier"
|
msgstr "&Supprimer Fichier"
|
||||||
|
|
||||||
#: kicad/treeprj_frame.cpp:218
|
#: kicad/treeprj_frame.cpp:221
|
||||||
msgid "&Delete Directory"
|
msgid "&Delete Directory"
|
||||||
msgstr "&Supprimer le Répertoire"
|
msgstr "&Supprimer le Répertoire"
|
||||||
|
|
||||||
#: kicad/treeprj_frame.cpp:219
|
#: kicad/treeprj_frame.cpp:222
|
||||||
msgid "Delete the File"
|
msgid "Delete the File"
|
||||||
msgstr "Supprimer le fichier"
|
msgstr "Supprimer le fichier"
|
||||||
|
|
||||||
#: kicad/treeprj_frame.cpp:220
|
#: kicad/treeprj_frame.cpp:223
|
||||||
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:546
|
#: kicad/treeprj_frame.cpp:549
|
||||||
msgid "Create New File"
|
msgid "Create New File"
|
||||||
msgstr "Créer un Nouveau Fichier"
|
msgstr "Créer un Nouveau Fichier"
|
||||||
|
|
||||||
#: kicad/treeprj_frame.cpp:547
|
#: kicad/treeprj_frame.cpp:550
|
||||||
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:556
|
#: kicad/treeprj_frame.cpp:559
|
||||||
msgid "noname."
|
msgid "noname."
|
||||||
msgstr "noname."
|
msgstr "noname."
|
||||||
|
|
||||||
#: kicad/treeprj_frame.cpp:1085
|
#: kicad/treeprj_frame.cpp:1088
|
||||||
msgid "Change filename: "
|
msgid "Change filename: "
|
||||||
msgstr "Changer Nom Fichier: "
|
msgstr "Changer Nom Fichier: "
|
||||||
|
|
||||||
#: kicad/treeprj_frame.cpp:1087
|
#: kicad/treeprj_frame.cpp:1090
|
||||||
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]"
|
||||||
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:183
|
#: gerbview/files.cpp:185
|
||||||
#: gerbview/files.cpp:216
|
#: gerbview/files.cpp:218
|
||||||
#, 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:189
|
#: gerbview/files.cpp:191
|
||||||
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..."
|
||||||
msgstr "non encore disponible"
|
msgstr "non encore disponible"
|
||||||
|
|
||||||
#: gerbview/files.cpp:114
|
#: gerbview/files.cpp:114
|
||||||
msgid "Gerber files (.gbr .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:118
|
#: gerbview/files.cpp:120
|
||||||
msgid "Top layer (*.GTL)|*.GTL;*.gtl|"
|
msgid "Top layer (*.GTL)|*.GTL;*.gtl|"
|
||||||
msgstr "Couche composant"
|
msgstr "Couche composant"
|
||||||
|
|
||||||
#: gerbview/files.cpp:119
|
#: gerbview/files.cpp:121
|
||||||
msgid "Bottom layer (*.GBL)|*.GBL;*.gbl|"
|
msgid "Bottom layer (*.GBL)|*.GBL;*.gbl|"
|
||||||
msgstr "Couche cuivre"
|
msgstr "Couche cuivre"
|
||||||
|
|
||||||
#: gerbview/files.cpp:120
|
#: gerbview/files.cpp:122
|
||||||
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:121
|
#: gerbview/files.cpp:123
|
||||||
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:122
|
#: gerbview/files.cpp:124
|
||||||
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:123
|
#: gerbview/files.cpp:125
|
||||||
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:124
|
#: gerbview/files.cpp:126
|
||||||
msgid "Bottom paste (*.GBP)|*.GBP;*.gbp|"
|
msgid "Bottom paste (*.GBP)|*.GBP;*.gbp|"
|
||||||
msgstr "Bottom paste (*.GBP)|*.GBP;*.gbp|"
|
msgstr "Masque pate à souder cuivre (*.GBP)|*.GBP;*.gbp|"
|
||||||
|
|
||||||
#: gerbview/files.cpp:125
|
#: gerbview/files.cpp:127
|
||||||
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:126
|
#: gerbview/files.cpp:128
|
||||||
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:127
|
#: gerbview/files.cpp:129
|
||||||
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:128
|
#: gerbview/files.cpp:130
|
||||||
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:129
|
#: gerbview/files.cpp:131
|
||||||
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:139
|
#: gerbview/files.cpp:141
|
||||||
msgid "Open Gerber File"
|
msgid "Open Gerber File"
|
||||||
msgstr "Ouvrir Fichier Gerber"
|
msgstr "Ouvrir Fichier Gerber"
|
||||||
|
|
||||||
#: gerbview/files.cpp:220
|
#: gerbview/files.cpp:222
|
||||||
msgid "Save Gerber File"
|
msgid "Save Gerber File"
|
||||||
msgstr "Sauver Fichier Gerber"
|
msgstr "Sauver Fichier Gerber"
|
||||||
|
|
||||||
|
@ -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:"
|
||||||
|
|
|
@ -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$" ),
|
||||||
|
|
|
@ -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()
|
||||||
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 {
|
||||||
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:
|
||||||
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:
|
||||||
|
|
||||||
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:
|
||||||
|
|
||||||
// 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:
|
||||||
};
|
};
|
||||||
|
|
||||||
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 )
|
||||||
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 )
|
||||||
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" ) );
|
||||||
// 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" ) );
|
||||||
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" ) );
|
||||||
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" ) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 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, <mp );
|
||||||
|
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" ) );
|
||||||
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" ) );
|
||||||
|
|
||||||
// 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" ) );
|
||||||
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" ) );
|
||||||
|
|
||||||
// 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" ) );
|
||||||
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" ) );
|
||||||
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" ) );
|
||||||
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" ) );
|
||||||
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" ) );
|
||||||
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" ) );
|
||||||
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" ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
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 )
|
||||||
( (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 )
|
||||||
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 )
|
||||||
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 )
|
||||||
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 )
|
||||||
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 )
|
||||||
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 )
|
||||||
|
|
||||||
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 )
|
||||||
|
|
||||||
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 )
|
||||||
// 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 )
|
||||||
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 )
|
||||||
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:
|
||||||
|
|
Loading…
Reference in New Issue