touch ups
This commit is contained in:
parent
e88bc8e58b
commit
597833b55e
|
@ -120,15 +120,17 @@ StructColors ColorRefs[NBCOLOR] =
|
||||||
bool g_DisableFloatingPointLocalNotation = false;
|
bool g_DisableFloatingPointLocalNotation = false;
|
||||||
|
|
||||||
|
|
||||||
void SetLocaleTo_C_standard( void )
|
int LOCALE_IO::C_count;
|
||||||
|
|
||||||
|
|
||||||
|
void SetLocaleTo_C_standard()
|
||||||
{
|
{
|
||||||
setlocale( LC_NUMERIC, "C" ); // Switch the locale to standard C
|
setlocale( LC_NUMERIC, "C" ); // Switch the locale to standard C
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SetLocaleTo_Default()
|
||||||
void SetLocaleTo_Default( void )
|
|
||||||
{
|
{
|
||||||
if( ! g_DisableFloatingPointLocalNotation )
|
if( !g_DisableFloatingPointLocalNotation )
|
||||||
setlocale( LC_NUMERIC, "" ); // revert to the current locale
|
setlocale( LC_NUMERIC, "" ); // revert to the current locale
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -16,8 +16,6 @@
|
||||||
|
|
||||||
#include <pcbcommon.h>
|
#include <pcbcommon.h>
|
||||||
#include <pcbstruct.h>
|
#include <pcbstruct.h>
|
||||||
#include <richio.h>
|
|
||||||
#include <filter_reader.h>
|
|
||||||
#include <footprint_info.h>
|
#include <footprint_info.h>
|
||||||
#include <io_mgr.h>
|
#include <io_mgr.h>
|
||||||
|
|
||||||
|
@ -42,57 +40,68 @@
|
||||||
*/
|
*/
|
||||||
bool FOOTPRINT_LIST::ReadFootprintFiles( wxArrayString& aFootprintsLibNames )
|
bool FOOTPRINT_LIST::ReadFootprintFiles( wxArrayString& aFootprintsLibNames )
|
||||||
{
|
{
|
||||||
wxFileName filename;
|
|
||||||
wxString libname;
|
|
||||||
|
|
||||||
// Clear data before reading files
|
// Clear data before reading files
|
||||||
m_filesNotFound.Empty();
|
m_filesNotFound.Empty();
|
||||||
m_filesInvalid.Empty();
|
m_filesInvalid.Empty();
|
||||||
m_List.clear();
|
m_List.clear();
|
||||||
|
|
||||||
PLUGIN::RELEASER pi( IO_MGR::PluginFind( IO_MGR::LEGACY ) );
|
// try
|
||||||
|
|
||||||
// Parse Libraries Listed
|
|
||||||
for( unsigned ii = 0; ii < aFootprintsLibNames.GetCount(); ii++ )
|
|
||||||
{
|
{
|
||||||
filename = aFootprintsLibNames[ii];
|
PLUGIN::RELEASER pi( IO_MGR::PluginFind( IO_MGR::LEGACY ) );
|
||||||
filename.SetExt( FootprintLibFileExtension );
|
|
||||||
|
|
||||||
libname = wxGetApp().FindLibraryPath( filename );
|
// Parse Libraries Listed
|
||||||
|
for( unsigned ii = 0; ii < aFootprintsLibNames.GetCount(); ii++ )
|
||||||
if( libname.IsEmpty() )
|
|
||||||
{
|
{
|
||||||
m_filesNotFound << filename.GetFullName() << wxT("\n");
|
wxFileName filename = aFootprintsLibNames[ii];
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
try
|
filename.SetExt( FootprintLibFileExtension );
|
||||||
{
|
|
||||||
wxArrayString fpnames = pi->FootprintEnumerate( libname );
|
|
||||||
|
|
||||||
for( unsigned i=0; i<fpnames.GetCount(); ++i )
|
wxString libPath = wxGetApp().FindLibraryPath( filename );
|
||||||
|
|
||||||
|
if( !libPath )
|
||||||
{
|
{
|
||||||
std::auto_ptr<MODULE> m( pi->FootprintLoad( libname, fpnames[i] ) );
|
m_filesNotFound << filename.GetFullName() << wxT("\n");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
FOOTPRINT_INFO* fpinfo = new FOOTPRINT_INFO();
|
try
|
||||||
|
{
|
||||||
|
wxArrayString fpnames = pi->FootprintEnumerate( libPath );
|
||||||
|
|
||||||
fpinfo->m_Module = fpnames[i];
|
for( unsigned i=0; i<fpnames.GetCount(); ++i )
|
||||||
fpinfo->m_LibName = libname;
|
{
|
||||||
fpinfo->m_padCount = m->GetPadCount();
|
auto_ptr<MODULE> m( pi->FootprintLoad( libPath, fpnames[i] ) );
|
||||||
fpinfo->m_KeyWord = m->GetKeywords();
|
|
||||||
fpinfo->m_Doc = m->GetDescription();
|
|
||||||
|
|
||||||
AddItem( fpinfo );
|
// we're loading what we enumerated, all must be there.
|
||||||
|
wxASSERT( m.get() );
|
||||||
|
|
||||||
|
FOOTPRINT_INFO* fpinfo = new FOOTPRINT_INFO();
|
||||||
|
|
||||||
|
fpinfo->m_Module = fpnames[i];
|
||||||
|
fpinfo->m_LibName = libPath;
|
||||||
|
fpinfo->m_padCount = m->GetPadCount();
|
||||||
|
fpinfo->m_KeyWord = m->GetKeywords();
|
||||||
|
fpinfo->m_Doc = m->GetDescription();
|
||||||
|
|
||||||
|
AddItem( fpinfo );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch( IO_ERROR ioe )
|
||||||
|
{
|
||||||
|
m_filesInvalid << ioe.errorText << wxT("\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch( IO_ERROR ioe )
|
|
||||||
{
|
|
||||||
m_filesInvalid << ioe.errorText << wxT("\n");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* caller should catch this, UI seems not wanted here.
|
||||||
|
catch( IO_ERROR ioe )
|
||||||
|
{
|
||||||
|
DisplayError( NULL, ioe.errorText );
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
m_List.sort();
|
m_List.sort();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -454,6 +454,7 @@ void SetLocaleTo_C_standard();
|
||||||
*/
|
*/
|
||||||
void SetLocaleTo_Default();
|
void SetLocaleTo_Default();
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class LOCALE_IO
|
* Class LOCALE_IO
|
||||||
* is a class that can be instantiated within a scope in which you are expecting
|
* is a class that can be instantiated within a scope in which you are expecting
|
||||||
|
@ -464,10 +465,23 @@ void SetLocaleTo_Default();
|
||||||
class LOCALE_IO
|
class LOCALE_IO
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
LOCALE_IO() { SetLocaleTo_C_standard(); }
|
LOCALE_IO()
|
||||||
~LOCALE_IO() { SetLocaleTo_Default(); }
|
{
|
||||||
|
if( C_count++ == 0 )
|
||||||
|
SetLocaleTo_C_standard();
|
||||||
|
}
|
||||||
|
|
||||||
|
~LOCALE_IO()
|
||||||
|
{
|
||||||
|
if( --C_count == 0 )
|
||||||
|
SetLocaleTo_Default();
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
static int C_count; // allow for nesting of LOCALE_IO instantiations
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function EnsureTextCtrlWidth
|
* Function EnsureTextCtrlWidth
|
||||||
* sets the minimum pixel width on a text control in order to make a text
|
* sets the minimum pixel width on a text control in order to make a text
|
||||||
|
|
|
@ -4186,6 +4186,17 @@ bool LEGACY_PLUGIN::IsFootprintLibWritable( const wxString& aLibraryPath )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
LEGACY_PLUGIN::LEGACY_PLUGIN() :
|
||||||
|
m_board( 0 ),
|
||||||
|
m_props( 0 ),
|
||||||
|
m_reader( 0 ),
|
||||||
|
m_fp( 0 ),
|
||||||
|
m_cache( 0 )
|
||||||
|
{
|
||||||
|
init( NULL );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
LEGACY_PLUGIN::~LEGACY_PLUGIN()
|
LEGACY_PLUGIN::~LEGACY_PLUGIN()
|
||||||
{
|
{
|
||||||
delete m_cache;
|
delete m_cache;
|
||||||
|
|
|
@ -55,7 +55,7 @@ struct FPL_CACHE;
|
||||||
/**
|
/**
|
||||||
* Class LEGACY_PLUGIN
|
* Class LEGACY_PLUGIN
|
||||||
* is a PLUGIN derivation which could possibly be put into a DLL/DSO.
|
* is a PLUGIN derivation which could possibly be put into a DLL/DSO.
|
||||||
* It is not thread safe, but it is re-entrant multiple times in sequence.
|
* As with any PLUGIN, there is no UI, i.e. windowing calls allowed.
|
||||||
*/
|
*/
|
||||||
class LEGACY_PLUGIN : public PLUGIN
|
class LEGACY_PLUGIN : public PLUGIN
|
||||||
{
|
{
|
||||||
|
@ -99,14 +99,7 @@ public:
|
||||||
|
|
||||||
//-----</PLUGIN IMPLEMENTATION>---------------------------------------------
|
//-----</PLUGIN IMPLEMENTATION>---------------------------------------------
|
||||||
|
|
||||||
LEGACY_PLUGIN() :
|
LEGACY_PLUGIN();
|
||||||
m_board( 0 ),
|
|
||||||
m_props( 0 ),
|
|
||||||
m_reader( 0 ),
|
|
||||||
m_fp( 0 ),
|
|
||||||
m_cache( 0 )
|
|
||||||
{}
|
|
||||||
|
|
||||||
~LEGACY_PLUGIN();
|
~LEGACY_PLUGIN();
|
||||||
|
|
||||||
void SetReader( LINE_READER* aReader ) { m_reader = aReader; }
|
void SetReader( LINE_READER* aReader ) { m_reader = aReader; }
|
||||||
|
|
Loading…
Reference in New Issue