Explicitly give unit values
Removes the ability to hide symbol units in file formats. This was
mostly the case for a while but there remained corner cases where we
left a default/hidden option
Fixes https://gitlab.com/kicad/code/kicad/issues/10888
(cherry picked from commit 8c36ba3653
)
This commit is contained in:
parent
23479821e3
commit
17dc324e85
|
@ -593,7 +593,7 @@ void DIALOG_LIB_SYMBOL_PROPERTIES::OnEditSpiceModel( wxCommandEvent& event )
|
||||||
{
|
{
|
||||||
#ifdef KICAD_SPICE
|
#ifdef KICAD_SPICE
|
||||||
int diff = m_fields->size();
|
int diff = m_fields->size();
|
||||||
auto symbol = SCH_SYMBOL( *m_libEntry, m_libEntry->GetLibId(), nullptr );
|
auto symbol = SCH_SYMBOL( *m_libEntry, m_libEntry->GetLibId(), nullptr, 0 );
|
||||||
|
|
||||||
DIALOG_SPICE_MODEL dialog( this, symbol, m_fields );
|
DIALOG_SPICE_MODEL dialog( this, symbol, m_fields );
|
||||||
|
|
||||||
|
|
|
@ -1090,14 +1090,12 @@ void SCH_SEXPR_PLUGIN::saveSymbol( SCH_SYMBOL* aSymbol, SCH_SHEET_PATH* aSheetPa
|
||||||
m_out->Print( 0, ")" );
|
m_out->Print( 0, ")" );
|
||||||
}
|
}
|
||||||
|
|
||||||
int unit = -1;
|
int unit = aSymbol->GetUnit();
|
||||||
|
|
||||||
if( !( aSymbol->GetInstanceReferences().size() > 1 ) )
|
if( ( aSymbol->GetInstanceReferences().size() > 1 ) && aSheetPath )
|
||||||
unit = aSymbol->GetUnit();
|
|
||||||
else if( aSheetPath != nullptr )
|
|
||||||
unit = aSymbol->GetUnitSelection( aSheetPath );
|
unit = aSymbol->GetUnitSelection( aSheetPath );
|
||||||
if ( unit >= 0 )
|
|
||||||
m_out->Print( 0, " (unit %d)", unit );
|
m_out->Print( 0, " (unit %d)", unit );
|
||||||
|
|
||||||
if( aSymbol->GetConvert() == LIB_ITEM::LIB_CONVERT::DEMORGAN )
|
if( aSymbol->GetConvert() == LIB_ITEM::LIB_CONVERT::DEMORGAN )
|
||||||
m_out->Print( 0, " (convert %d)", aSymbol->GetConvert() );
|
m_out->Print( 0, " (convert %d)", aSymbol->GetConvert() );
|
||||||
|
|
|
@ -92,7 +92,7 @@ public:
|
||||||
* @param setNewItemFlag is used to set the symbol #IS_NEW and #IS_MOVING flags.
|
* @param setNewItemFlag is used to set the symbol #IS_NEW and #IS_MOVING flags.
|
||||||
*/
|
*/
|
||||||
SCH_SYMBOL( const LIB_SYMBOL& aSymbol, const LIB_ID& aLibId, const SCH_SHEET_PATH* aSheet,
|
SCH_SYMBOL( const LIB_SYMBOL& aSymbol, const LIB_ID& aLibId, const SCH_SHEET_PATH* aSheet,
|
||||||
int unit = 0, int convert = 0, const wxPoint& pos = wxPoint( 0, 0 ) );
|
int unit, int convert = 0, const wxPoint& pos = wxPoint( 0, 0 ) );
|
||||||
|
|
||||||
SCH_SYMBOL( const LIB_SYMBOL& aSymbol, const SCH_SHEET_PATH* aSheet, const PICKED_SYMBOL& aSel,
|
SCH_SYMBOL( const LIB_SYMBOL& aSymbol, const SCH_SHEET_PATH* aSheet, const PICKED_SYMBOL& aSel,
|
||||||
const wxPoint& pos = wxPoint( 0, 0 ) );
|
const wxPoint& pos = wxPoint( 0, 0 ) );
|
||||||
|
|
Loading…
Reference in New Issue