bool SCH_TEXT::Matches( wxFindReplaceData& aSearchData, void* aAuxData, wxPoint * aFindLocation ) { wxLogTrace( traceFindItem, wxT( " item " ) + GetSelectMenuText( MILLIMETRES ) ); if( SCH_ITEM::Matches( m_Text, aSearchData ) ) { EDA_RECT BoundaryBox = GetBoundingBox(); if( aFindLocation ) *aFindLocation = BoundaryBox.Centre(); return true; } return false; }
bool SCH_SHEET_PIN::Matches( wxFindReplaceData& aSearchData, void* aAuxData, wxPoint* aFindLocation ) { wxCHECK_MSG( GetParent() != NULL, false, wxT( "Sheet pin " ) + m_Text + wxT( " does not have a parent sheet!" ) ); wxLogTrace( traceFindItem, wxT( " child item " ) + GetSelectMenuText() ); if( SCH_ITEM::Matches( m_Text, aSearchData ) ) { if( aFindLocation ) *aFindLocation = GetBoundingBox().Centre(); return true; } return false; }
bool SCH_FIELD::Matches( wxFindReplaceData& aSearchData, void* aAuxData, wxPoint* aFindLocation ) { bool match; wxString text = GetFullyQualifiedText(); // User defined fields have an ID of -1. if( ((m_id > VALUE || m_id < REFERENCE) && !(aSearchData.GetFlags() & FR_SEARCH_ALL_FIELDS)) || ((m_id == REFERENCE) && !(aSearchData.GetFlags() & FR_REPLACE_REFERENCES)) ) return false; wxLogTrace( traceFindItem, wxT( " child item " ) + GetSelectMenuText() ); // Take sheet path into account which effects the reference field and the unit for // components with multiple parts. if( m_id == REFERENCE && aAuxData != NULL ) { SCH_COMPONENT* component = (SCH_COMPONENT*) m_Parent; wxCHECK_MSG( component != NULL, false, wxT( "No component associated with field" ) + text ); text = component->GetRef( (SCH_SHEET_PATH*) aAuxData ); if( component->GetPartCount() > 1 ) text << LIB_COMPONENT::ReturnSubReference( component->GetUnit() ); } match = SCH_ITEM::Matches( text, aSearchData ); if( match ) { if( aFindLocation ) *aFindLocation = GetBoundingBox().Centre(); return true; } return false; }
bool SCH_SHEET::Matches( wxFindReplaceData& aSearchData, void* aAuxData, wxPoint* aFindLocation ) { wxLogTrace( traceFindItem, wxT( " item " ) + GetSelectMenuText() ); // Ignore the sheet file name if searching to replace. if( !(aSearchData.GetFlags() & FR_SEARCH_REPLACE) && SCH_ITEM::Matches( m_fileName, aSearchData ) ) { if( aFindLocation ) *aFindLocation = GetFileNamePosition(); return true; } if( SCH_ITEM::Matches( m_name, aSearchData ) ) { if( aFindLocation ) *aFindLocation = GetSheetNamePosition(); return true; } return false; }