|
|
|
@ -471,6 +471,11 @@ void FOOTPRINT::GetContextualTextVars( wxArrayString* aVars ) const |
|
|
|
aVars->push_back( wxT( "REFERENCE" ) ); |
|
|
|
aVars->push_back( wxT( "VALUE" ) ); |
|
|
|
aVars->push_back( wxT( "LAYER" ) ); |
|
|
|
aVars->push_back( wxT( "FOOTPRINT_LIBRARY" ) ); |
|
|
|
aVars->push_back( wxT( "FOOTPRINT_NAME" ) ); |
|
|
|
aVars->push_back( wxT( "NET_NAME(<pad_number>)" ) ); |
|
|
|
aVars->push_back( wxT( "NET_CLASS(<pad_number>)" ) ); |
|
|
|
aVars->push_back( wxT( "PIN_NAME(<pad_number>)" ) ); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -501,6 +506,28 @@ bool FOOTPRINT::ResolveTextVar( wxString* token, int aDepth ) const |
|
|
|
*token = m_fpid.GetLibItemName(); |
|
|
|
return true; |
|
|
|
} |
|
|
|
else if( token->StartsWith( wxT( "NET_NAME(" ) ) |
|
|
|
|| token->StartsWith( wxT( "NET_CLASS(" ) ) |
|
|
|
|| token->StartsWith( wxT( "PIN_NAME(" ) ) ) |
|
|
|
{ |
|
|
|
wxString padNumber = token->AfterFirst( '(' ); |
|
|
|
padNumber = padNumber.BeforeLast( ')' ); |
|
|
|
|
|
|
|
for( PAD* pad : Pads() ) |
|
|
|
{ |
|
|
|
if( pad->GetNumber() == padNumber ) |
|
|
|
{ |
|
|
|
if( token->StartsWith( wxT( "NET_NAME" ) ) ) |
|
|
|
*token = pad->GetNetname(); |
|
|
|
else if( token->StartsWith( wxT( "NET_CLASS" ) ) ) |
|
|
|
*token = pad->GetNetClassName(); |
|
|
|
else |
|
|
|
*token = pad->GetPinFunction(); |
|
|
|
|
|
|
|
return true; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
else if( m_properties.count( *token ) ) |
|
|
|
{ |
|
|
|
*token = m_properties.at( *token ); |
|
|
|
|