Fixes for line, wire and bus styles.
1) Return the default netclass if an assignment is not found 2) Local overrides have precedence over netclass values Fixes https://gitlab.com/kicad/code/kicad/issues/5308
This commit is contained in:
parent
d1e2b57d96
commit
d5878e552d
|
@ -269,7 +269,7 @@ bool SCH_CONNECTION::IsDriver() const
|
|||
}
|
||||
|
||||
|
||||
const wxString& SCH_CONNECTION::Name( bool aIgnoreSheet ) const
|
||||
wxString SCH_CONNECTION::Name( bool aIgnoreSheet ) const
|
||||
{
|
||||
wxASSERT( !m_cached_name.IsEmpty() );
|
||||
return aIgnoreSheet ? m_cached_name : m_cached_name_with_path;
|
||||
|
|
|
@ -153,7 +153,7 @@ public:
|
|||
m_dirty = false;
|
||||
}
|
||||
|
||||
const wxString& Name( bool aIgnoreSheet = false ) const;
|
||||
wxString Name( bool aIgnoreSheet = false ) const;
|
||||
|
||||
const wxString& RawName() const
|
||||
{
|
||||
|
|
|
@ -167,6 +167,8 @@ NETCLASSPTR SCH_ITEM::NetClass() const
|
|||
|
||||
if( !netclassName.IsEmpty() )
|
||||
return netSettings.m_NetClasses.Find( netclassName );
|
||||
else
|
||||
return netSettings.m_NetClasses.GetDefault();
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
|
|
|
@ -208,9 +208,12 @@ void SCH_LINE::SetLineColor( const double r, const double g, const double b, con
|
|||
|
||||
COLOR4D SCH_LINE::GetLineColor() const
|
||||
{
|
||||
if( m_stroke.GetColor() != COLOR4D::UNSPECIFIED )
|
||||
return m_stroke.GetColor();
|
||||
|
||||
NETCLASSPTR netclass = NetClass();
|
||||
|
||||
if( netclass && netclass->GetSchematicColor() != COLOR4D::UNSPECIFIED )
|
||||
if( netclass )
|
||||
return netclass->GetSchematicColor();
|
||||
|
||||
return m_stroke.GetColor();
|
||||
|
@ -252,6 +255,9 @@ PLOT_DASH_TYPE SCH_LINE::GetLineStyle() const
|
|||
|
||||
PLOT_DASH_TYPE SCH_LINE::GetEffectiveLineStyle() const
|
||||
{
|
||||
if( m_stroke.GetType() != PLOT_DASH_TYPE::DEFAULT )
|
||||
return m_stroke.GetType();
|
||||
|
||||
NETCLASSPTR netclass = NetClass();
|
||||
|
||||
if( netclass )
|
||||
|
@ -823,16 +829,16 @@ void SCH_LINE::GetMsgPanelInfo( EDA_DRAW_FRAME* aFrame, MSG_PANEL_ITEMS& aList )
|
|||
conn->AppendInfoToMsgPanel( aList );
|
||||
|
||||
NET_SETTINGS& netSettings = Schematic()->Prj().GetProjectFile().NetSettings();
|
||||
const wxString& netname = conn->Name( true );
|
||||
wxString netname = conn->Name( true );
|
||||
wxString netclassName = netSettings.m_NetClasses.GetDefaultPtr()->GetName();
|
||||
|
||||
if( netSettings.m_NetClassAssignments.count( netname ) )
|
||||
{
|
||||
const wxString& netclassName = netSettings.m_NetClassAssignments[ netname ];
|
||||
netclassName = netSettings.m_NetClassAssignments[ netname ];
|
||||
|
||||
aList.push_back( MSG_PANEL_ITEM( _( "Assigned Netclass" ), netclassName, DARKRED ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
bool SCH_LINE::IsGraphicLine() const
|
||||
|
|
Loading…
Reference in New Issue