Split name from additional params only when model is a library reference.

(cherry picked from commit b8cf7cc080)
This commit is contained in:
Jeff Young 2023-03-22 13:51:16 +00:00
parent b7cd1dd764
commit 7026cfe140
1 changed files with 8 additions and 15 deletions

View File

@ -1591,19 +1591,6 @@ void SIM_MODEL::MigrateSimModel( T_symbol& aSymbol, const PROJECT* aProject )
{
spiceModelInfo = FIELD_INFO( getSIValue( modelField ), modelField );
aSymbol.RemoveField( modelField );
if( spiceModelInfo.m_Text.Contains( ' ' ) )
{
wxString params;
spiceModelInfo.m_Text = spiceModelInfo.m_Text.BeforeFirst( ' ', &params );
if( !params.Trim( false ).IsEmpty() )
{
spiceParamsInfo = spiceModelInfo;
spiceParamsInfo.m_Text = params.Trim( false );
}
}
}
else
{
@ -1807,12 +1794,18 @@ void SIM_MODEL::MigrateSimModel( T_symbol& aSymbol, const PROJECT* aProject )
T_field libraryField = spiceLibInfo.CreateField( &aSymbol, SIM_LIBRARY_FIELD );
aSymbol.AddField( libraryField );
// Split library model name from any following parameters
wxString modelLineParams;
spiceModelInfo.m_Text = spiceModelInfo.m_Text.BeforeFirst( ' ', &modelLineParams );
T_field nameField = spiceModelInfo.CreateField( &aSymbol, SIM_NAME_FIELD );
aSymbol.AddField( nameField );
// Don't write a paramsField unless we actually have overrides
if( !spiceParamsInfo.IsEmpty() )
if( !modelLineParams.IsEmpty() )
{
spiceParamsInfo = spiceModelInfo;
spiceParamsInfo.m_Text = modelLineParams;
T_field paramsField = spiceParamsInfo.CreateField( &aSymbol, SIM_PARAMS_FIELD );
aSymbol.AddField( paramsField );
}