bool LIB_EDIT_FRAME::isCurrentPart( const LIB_ID& aLibId ) const { // This will return the root part of any alias LIB_PART* part = m_libMgr->GetBufferedPart( aLibId.GetLibItemName(), aLibId.GetLibNickname() ); // Now we can compare the libId of the current part and the root part return ( part && GetCurPart() && part->GetLibId() == GetCurPart()->GetLibId() ); }
void CMP_TREE_NODE_LIB_ID::Update( LIB_ALIAS* aAlias ) { Name = aAlias->GetName(); Desc = aAlias->GetDescription(); // Parent node is the library nickname so set the LIB_ID library nickname. IsRoot = aAlias->IsRoot(); // Pre-normalized strings for fast case-insensitive matching // Search text spaces out keywords and description to penalize description // matches - earlier matches are worth more. MatchName = aAlias->GetName().Lower(); SearchText = (aAlias->GetKeyWords() + " " + Desc); // Extract default footprint text LIB_PART* part = aAlias->GetPart(); wxString footprint; if( part ) { LibId = part->GetLibId(); LibId.SetLibItemName( Name ); footprint = part->GetFootprintField().GetText(); } // If a footprint is defined for the part, // add it to the serach string if( !footprint.IsEmpty() ) { SearchText += " "; SearchText += footprint; } Children.clear(); if( part && part->IsMulti() ) { for( int u = 1; u <= part->GetUnitCount(); ++u ) AddUnit( u ); } SearchTextNormalized = false; }