Pcbnew: Fix an issue when try to importing gpcb footprints
This commit is contained in:
parent
31ed2c288c
commit
0dff6b9bd3
|
@ -56,6 +56,9 @@
|
|||
|
||||
// use one of the following __LOC__ defs, depending on whether your
|
||||
// compiler supports __func__ or not, and how it handles __LINE__
|
||||
#if defined ( _MSC_VER )
|
||||
#define __func__ __FUNCTION__
|
||||
#endif
|
||||
#define __LOC__ ((std::string(__func__) + "() : line ") + TOSTRING(__LINE__)).c_str()
|
||||
//#define __LOC__ TOSTRING(__LINE__)
|
||||
|
||||
|
|
|
@ -331,7 +331,7 @@ bool MODULE::Read_GPCB_Descr( const wxString& CmpFullFileName )
|
|||
}
|
||||
|
||||
if( params[0].CmpNoCase( wxT( "Pad" ) ) == 0 ) // Pad with no hole (smd pad)
|
||||
{ // format: Pad [x1 y1 x2 y2 thickness clearance mask "name" "pad_number" flags]
|
||||
{ // format: Pad [x1 y1 x2 y2 thickness clearance mask "name" "pad_number" flags]
|
||||
Pad = new D_PAD( this );
|
||||
Pad->m_PadShape = PAD_RECT;
|
||||
Pad->m_layerMask = LAYER_FRONT | SOLDERMASK_LAYER_FRONT | SOLDERPASTE_LAYER_FRONT;
|
||||
|
@ -361,9 +361,13 @@ bool MODULE::Read_GPCB_Descr( const wxString& CmpFullFileName )
|
|||
// Currently unused
|
||||
|
||||
// Read pad number:
|
||||
if( params.GetCount() > 10 )
|
||||
if( params[1] == wxT( "(" ) )
|
||||
{
|
||||
strncpy( Pad->m_Padname, TO_UTF8( params[10] ), 4 );
|
||||
Pad->SetPadName( params[8] );
|
||||
}
|
||||
else
|
||||
{
|
||||
Pad->SetPadName( params[10] );
|
||||
}
|
||||
Pad->m_Pos.x = (ibuf[0] + ibuf[2]) / 2;
|
||||
Pad->m_Pos.y = (ibuf[1] + ibuf[3]) / 2;
|
||||
|
@ -385,7 +389,7 @@ bool MODULE::Read_GPCB_Descr( const wxString& CmpFullFileName )
|
|||
}
|
||||
|
||||
if( params[0].CmpNoCase( wxT( "Pin" ) ) == 0 ) // Pad with hole (trough pad)
|
||||
{ // format: Pin[x y Thickness Clearance Mask DrillHole Name Number Flags]
|
||||
{ // format: Pin[x y Thickness Clearance Mask DrillHole Name Number Flags]
|
||||
Pad = new D_PAD( this );
|
||||
Pad->m_PadShape = PAD_ROUND;
|
||||
Pad->m_layerMask = ALL_CU_LAYERS |
|
||||
|
@ -415,9 +419,13 @@ bool MODULE::Read_GPCB_Descr( const wxString& CmpFullFileName )
|
|||
// Currently unused
|
||||
|
||||
// Read pad number:
|
||||
if( params.GetCount() > 9 )
|
||||
if( params[1] == wxT( "(" ) )
|
||||
{
|
||||
strncpy( Pad->m_Padname, TO_UTF8( params[9] ), 4 );
|
||||
Pad->SetPadName( params[7] );
|
||||
}
|
||||
else
|
||||
{
|
||||
Pad->SetPadName( params[9] );
|
||||
}
|
||||
|
||||
Pad->m_Pos.x = ibuf[0];
|
||||
|
|
|
@ -40,6 +40,7 @@
|
|||
const wxString ModExportFileExtension( wxT( "emp" ) );
|
||||
|
||||
static const wxString ModExportFileWildcard( _( "KiCad foot print export files (*.emp)|*.emp" ) );
|
||||
static const wxString ModImportFileWildcard( _( "GPcb foot print files (*)|*" ) );
|
||||
|
||||
|
||||
MODULE* FOOTPRINT_EDIT_FRAME::Import_Module()
|
||||
|
@ -55,9 +56,10 @@ MODULE* FOOTPRINT_EDIT_FRAME::Import_Module()
|
|||
if( Config )
|
||||
Config->Read( EXPORT_IMPORT_LASTPATH_KEY, &LastOpenedPathForLoading );
|
||||
|
||||
wxString importWildCard = ModExportFileWildcard + wxT("|") + ModImportFileWildcard;
|
||||
wxFileDialog dlg( this, _( "Import Footprint Module" ),
|
||||
LastOpenedPathForLoading, wxEmptyString,
|
||||
ModExportFileWildcard, wxFD_OPEN | wxFD_FILE_MUST_EXIST );
|
||||
importWildCard, wxFD_OPEN | wxFD_FILE_MUST_EXIST );
|
||||
|
||||
if( dlg.ShowModal() == wxID_CANCEL )
|
||||
return NULL;
|
||||
|
|
Loading…
Reference in New Issue