Formatting (and auto reduction).

This commit is contained in:
Jeff Young 2022-01-22 11:56:52 +00:00
parent 5449a92878
commit de49f5090d
3 changed files with 34 additions and 34 deletions

View File

@ -3,7 +3,7 @@
* *
* Copyright (C) 2010-2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com> * Copyright (C) 2010-2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
* Copyright (C) 2012 Wayne Stambaugh <stambaughw@gmail.com> * Copyright (C) 2012 Wayne Stambaugh <stambaughw@gmail.com>
* Copyright (C) 2012-2021 KiCad Developers, see AUTHORS.txt for contributors. * Copyright (C) 2012-2022 KiCad Developers, see AUTHORS.txt for contributors.
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License
@ -31,7 +31,7 @@
#include <lib_table_base.h> #include <lib_table_base.h>
#include <lib_table_lexer.h> #include <lib_table_lexer.h>
#include <macros.h> #include <macros.h>
#include <string_utils.h>
#define OPT_SEP '|' ///< options separator character #define OPT_SEP '|' ///< options separator character
@ -87,9 +87,7 @@ void LIB_TABLE_ROW::Format( OUTPUTFORMATTER* out, int nestLevel ) const
wxString extraOptions; wxString extraOptions;
if( !GetIsEnabled() ) if( !GetIsEnabled() )
{
extraOptions += "(disabled)"; extraOptions += "(disabled)";
}
out->Print( nestLevel, "(lib (name %s)(type %s)(uri %s)(options %s)(descr %s)%s)\n", out->Print( nestLevel, "(lib (name %s)(type %s)(uri %s)(options %s)(descr %s)%s)\n",
out->Quotew( GetNickName() ).c_str(), out->Quotew( GetNickName() ).c_str(),
@ -97,8 +95,7 @@ void LIB_TABLE_ROW::Format( OUTPUTFORMATTER* out, int nestLevel ) const
out->Quotew( uri ).c_str(), out->Quotew( uri ).c_str(),
out->Quotew( GetOptions() ).c_str(), out->Quotew( GetOptions() ).c_str(),
out->Quotew( GetDescr() ).c_str(), out->Quotew( GetDescr() ).c_str(),
extraOptions.ToStdString().c_str() extraOptions.ToStdString().c_str() );
);
} }
@ -196,7 +193,7 @@ LIB_TABLE_ROW* LIB_TABLE::findRow( const wxString& aNickName, bool aCheckIfEnabl
{ {
row = &cur->rows[entry.second]; row = &cur->rows[entry.second];
if( !aCheckIfEnabled || ( aCheckIfEnabled && row->GetIsEnabled() ) ) if( !aCheckIfEnabled || row->GetIsEnabled() )
return row; return row;
} }
} }
@ -212,7 +209,7 @@ LIB_TABLE_ROW* LIB_TABLE::findRow( const wxString& aNickName, bool aCheckIfEnabl
{ {
row = &cur->rows[entry.second]; row = &cur->rows[entry.second];
if( !aCheckIfEnabled || ( aCheckIfEnabled && row->GetIsEnabled() ) ) if( !aCheckIfEnabled || row->GetIsEnabled() )
return row; return row;
} }
} }
@ -262,22 +259,19 @@ const LIB_TABLE_ROW* LIB_TABLE::FindRowByURI( const wxString& aURI )
std::vector<wxString> LIB_TABLE::GetLogicalLibs() std::vector<wxString> LIB_TABLE::GetLogicalLibs()
{ {
// Only return unique logical library names. Use std::set::insert() to // Only return unique logical library names. Use std::set::insert() to quietly reject any
// quietly reject any duplicates, which can happen when encountering a duplicate // duplicates (usually due to encountering a duplicate nickname in a fallback table).
// nickname from one of the fall back table(s).
std::set< wxString > unique; std::set<wxString> unique;
std::vector< wxString > ret; std::vector<wxString> ret;
const LIB_TABLE* cur = this; const LIB_TABLE* cur = this;
do do
{ {
for( LIB_TABLE_ROWS_CITER it = cur->rows.begin(); it!=cur->rows.end(); ++it ) for( LIB_TABLE_ROWS_CITER it = cur->rows.begin(); it!=cur->rows.end(); ++it )
{ {
if( it->GetIsEnabled() ) if( it->GetIsEnabled() )
{
unique.insert( it->GetNickName() ); unique.insert( it->GetNickName() );
}
} }
} while( ( cur = cur->fallBack ) != nullptr ); } while( ( cur = cur->fallBack ) != nullptr );
@ -286,9 +280,7 @@ std::vector<wxString> LIB_TABLE::GetLogicalLibs()
// return a sorted, unique set of nicknames in a std::vector<wxString> to caller // return a sorted, unique set of nicknames in a std::vector<wxString> to caller
for( std::set< wxString >::const_iterator it = unique.begin(); it!=unique.end(); ++it ) for( std::set< wxString >::const_iterator it = unique.begin(); it!=unique.end(); ++it )
{
ret.push_back( *it ); ret.push_back( *it );
}
// We want to allow case-sensitive duplicates but sort by case-insensitive ordering // We want to allow case-sensitive duplicates but sort by case-insensitive ordering
std::sort( ret.begin(), ret.end(), std::sort( ret.begin(), ret.end(),
@ -327,13 +319,12 @@ bool LIB_TABLE::InsertRow( LIB_TABLE_ROW* aRow, bool doReplace )
void LIB_TABLE::Load( const wxString& aFileName ) void LIB_TABLE::Load( const wxString& aFileName )
{ {
// It's OK if footprint library tables are missing. // It's OK if footprint library tables are missing.
if( wxFileName::IsFileReadable( aFileName ) ) if( wxFileName::IsFileReadable( aFileName ) )
{ {
FILE_LINE_READER reader( aFileName ); FILE_LINE_READER reader( aFileName );
LIB_TABLE_LEXER lexer( &reader ); LIB_TABLE_LEXER lexer( &reader );
Parse( &lexer ); Parse( &lexer );
} }
@ -380,7 +371,9 @@ PROPERTIES* LIB_TABLE::ParseOptions( const std::string& aOptionsList )
break; // process the pair break; // process the pair
} }
else else
{
pair += *cp++; pair += *cp++;
}
} }
// stash the pair // stash the pair
@ -396,7 +389,9 @@ PROPERTIES* LIB_TABLE::ParseOptions( const std::string& aOptionsList )
props[name] = value; props[name] = value;
} }
else else
{
props[pair] = ""; // property is present, but with no value. props[pair] = ""; // property is present, but with no value.
}
} }
} }

View File

@ -189,8 +189,8 @@ void SYMBOL_TREE_SYNCHRONIZING_ADAPTER::updateLibrary( LIB_TREE_NODE_LIB& aLibNo
} }
LIB_TREE_NODE::PTR_VECTOR::iterator SYMBOL_TREE_SYNCHRONIZING_ADAPTER::deleteLibrary( LIB_TREE_NODE::PTR_VECTOR::iterator
LIB_TREE_NODE::PTR_VECTOR::iterator& aLibNodeIt ) SYMBOL_TREE_SYNCHRONIZING_ADAPTER::deleteLibrary( LIB_TREE_NODE::PTR_VECTOR::iterator& aLibNodeIt )
{ {
LIB_TREE_NODE* node = aLibNodeIt->get(); LIB_TREE_NODE* node = aLibNodeIt->get();
m_libHashes.erase( node->m_Name ); m_libHashes.erase( node->m_Name );

View File

@ -76,7 +76,7 @@ void FP_TREE_SYNCHRONIZING_ADAPTER::Sync()
// Remove the library if it no longer exists or it exists in both the global and the // Remove the library if it no longer exists or it exists in both the global and the
// project library but the project library entry is disabled. // project library but the project library entry is disabled.
if( !m_libs->HasLibrary( name, true ) if( !m_libs->HasLibrary( name, true )
|| ( m_libs->FindRow( name, true ) != m_libs->FindRow( name, false ) ) ) || m_libs->FindRow( name, true ) != m_libs->FindRow( name, false ) )
{ {
it = deleteLibrary( it ); it = deleteLibrary( it );
continue; continue;
@ -89,7 +89,7 @@ void FP_TREE_SYNCHRONIZING_ADAPTER::Sync()
// Look for new libraries // Look for new libraries
size_t count = m_libMap.size(); size_t count = m_libMap.size();
for( const auto& libName : m_libs->GetLogicalLibs() ) for( const wxString& libName : m_libs->GetLogicalLibs() )
{ {
if( m_libMap.count( libName ) == 0 ) if( m_libMap.count( libName ) == 0 )
{ {
@ -122,10 +122,10 @@ void FP_TREE_SYNCHRONIZING_ADAPTER::updateLibrary( LIB_TREE_NODE_LIB& aLibNode )
// libraries with lots of footprints. // libraries with lots of footprints.
FOOTPRINT_INFO_IMPL dummy( wxEmptyString, (*nodeIt)->m_Name ); FOOTPRINT_INFO_IMPL dummy( wxEmptyString, (*nodeIt)->m_Name );
auto footprintIt = std::lower_bound( footprints.begin(), footprints.end(), &dummy, auto footprintIt = std::lower_bound( footprints.begin(), footprints.end(), &dummy,
[]( LIB_TREE_ITEM* a, LIB_TREE_ITEM* b ) []( LIB_TREE_ITEM* a, LIB_TREE_ITEM* b )
{ {
return StrNumCmp( a->GetName(), b->GetName(), false ) < 0; return StrNumCmp( a->GetName(), b->GetName(), false ) < 0;
} ); } );
if( footprintIt != footprints.end() && dummy.GetName() == (*footprintIt)->GetName() ) if( footprintIt != footprints.end() && dummy.GetName() == (*footprintIt)->GetName() )
{ {
@ -143,7 +143,7 @@ void FP_TREE_SYNCHRONIZING_ADAPTER::updateLibrary( LIB_TREE_NODE_LIB& aLibNode )
} }
// now the footprint list contains only new aliases that need to be added to the tree // now the footprint list contains only new aliases that need to be added to the tree
for( auto footprint : footprints ) for( LIB_TREE_ITEM* footprint : footprints )
aLibNode.AddItem( footprint ); aLibNode.AddItem( footprint );
aLibNode.AssignIntrinsicRanks(); aLibNode.AssignIntrinsicRanks();
@ -151,8 +151,8 @@ void FP_TREE_SYNCHRONIZING_ADAPTER::updateLibrary( LIB_TREE_NODE_LIB& aLibNode )
} }
LIB_TREE_NODE::PTR_VECTOR::iterator FP_TREE_SYNCHRONIZING_ADAPTER::deleteLibrary( LIB_TREE_NODE::PTR_VECTOR::iterator
LIB_TREE_NODE::PTR_VECTOR::iterator& aLibNodeIt ) FP_TREE_SYNCHRONIZING_ADAPTER::deleteLibrary( LIB_TREE_NODE::PTR_VECTOR::iterator& aLibNodeIt )
{ {
LIB_TREE_NODE* node = aLibNodeIt->get(); LIB_TREE_NODE* node = aLibNodeIt->get();
m_libMap.erase( node->m_Name ); m_libMap.erase( node->m_Name );
@ -170,7 +170,7 @@ void FP_TREE_SYNCHRONIZING_ADAPTER::GetValue( wxVariant& aVariant, wxDataViewIte
return; return;
} }
auto node = ToNode( aItem ); LIB_TREE_NODE* node = ToNode( aItem );
switch( aCol ) switch( aCol )
{ {
@ -186,9 +186,14 @@ void FP_TREE_SYNCHRONIZING_ADAPTER::GetValue( wxVariant& aVariant, wxDataViewIte
aVariant = node->m_Name; aVariant = node->m_Name;
} }
else if( node->m_Pinned ) else if( node->m_Pinned )
{
aVariant = GetPinningSymbol() + node->m_Name; aVariant = GetPinningSymbol() + node->m_Name;
}
else else
{
aVariant = node->m_Name; aVariant = node->m_Name;
}
break; break;
case 1: case 1:
@ -235,7 +240,7 @@ bool FP_TREE_SYNCHRONIZING_ADAPTER::GetAttr( wxDataViewItem const& aItem, unsign
if( m_frame->IsCurrentFPFromBoard() ) if( m_frame->IsCurrentFPFromBoard() )
return false; return false;
auto node = ToNode( aItem ); LIB_TREE_NODE* node = ToNode( aItem );
wxCHECK( node, false ); wxCHECK( node, false );
switch( node->m_Type ) switch( node->m_Type )