Simplify parsing of alt pin definitions.

This commit is contained in:
Jeff Young 2024-04-26 09:56:33 +01:00
parent 9be60cb45d
commit 02c1eef3be
3 changed files with 8 additions and 7 deletions

View File

@ -3172,12 +3172,10 @@ SCH_SYMBOL* SCH_IO_KICAD_SEXPR_PARSER::parseSchematicSymbol()
}
}
symbol->GetRawPins().emplace_back( std::make_unique<SCH_PIN>( symbol.get(),
number, alt ) );
const_cast<KIID&>( symbol->GetRawPins().back()->m_Uuid ) = uuid;
}
symbol->GetRawPins().emplace_back( std::make_unique<SCH_PIN>( symbol.get(), number,
alt, uuid ) );
break;
}
default:
Expecting( "lib_id, lib_name, at, mirror, uuid, on_board, in_bom, dnp, "

View File

@ -172,7 +172,8 @@ SCH_PIN::SCH_PIN( SCH_SYMBOL* aParentSymbol, SCH_PIN* aLibPin ) :
* Create a proxy pin from an alternate pin designation.
* The SCH_PIN data will be filled in when the pin is resolved (see SCH_SYMBOL::UpdatePins).
*/
SCH_PIN::SCH_PIN( SCH_SYMBOL* aParentSymbol, const wxString& aNumber, const wxString& aAlt ) :
SCH_PIN::SCH_PIN( SCH_SYMBOL* aParentSymbol, const wxString& aNumber, const wxString& aAlt,
const KIID& aUuid ) :
SCH_ITEM( aParentSymbol, SCH_PIN_T ),
m_libPin( nullptr ),
m_orientation( PIN_ORIENTATION::INHERIT ),
@ -184,6 +185,7 @@ SCH_PIN::SCH_PIN( SCH_SYMBOL* aParentSymbol, const wxString& aNumber, const wxSt
{
wxASSERT( aParentSymbol );
const_cast<KIID&>( m_Uuid ) = aUuid;
m_layer = LAYER_PIN;
}

View File

@ -53,7 +53,8 @@ public:
SCH_PIN( SCH_SYMBOL* aParentSymbol, SCH_PIN* aLibPin );
SCH_PIN( SCH_SYMBOL* aParentSymbol, const wxString& aNumber, const wxString& aAlt );
SCH_PIN( SCH_SYMBOL* aParentSymbol, const wxString& aNumber, const wxString& aAlt,
const KIID& aUuid );
SCH_PIN( const SCH_PIN& aPin );