51 void SetDefaultNetclass( std::shared_ptr<NETCLASS> netclass );
54 std::shared_ptr<NETCLASS> GetDefaultNetclass();
57 bool HasNetclass(
const wxString& netclassName )
const;
61 void SetNetclass(
const wxString& netclassName, std::shared_ptr<NETCLASS>& netclass );
65 void SetNetclasses(
const std::map<wxString, std::shared_ptr<NETCLASS>>& netclasses );
68 const std::map<wxString, std::shared_ptr<NETCLASS>>& GetNetclasses()
const;
73 const std::map<wxString, std::shared_ptr<NETCLASS>>& GetCompositeNetclasses()
const;
77 void ClearNetclasses();
80 const std::map<wxString, std::set<wxString>>& GetNetclassLabelAssignments()
const;
84 void ClearNetclassLabelAssignments();
88 void ClearNetclassLabelAssignment(
const wxString& netName );
92 void SetNetclassLabelAssignment(
const wxString& netName,
93 const std::set<wxString>& netclasses );
97 void AppendNetclassLabelAssignment(
const wxString& netName,
98 const std::set<wxString>& netclasses );
101 bool HasNetclassLabelAssignment(
const wxString& netName )
const;
105 void SetNetclassPatternAssignment(
const wxString& pattern,
const wxString& netclass );
109 void SetNetclassPatternAssignments(
110 std::vector<std::pair<std::unique_ptr<EDA_COMBINED_MATCHER>, wxString>>&&
114 std::vector<std::pair<std::unique_ptr<EDA_COMBINED_MATCHER>, wxString>>&
115 GetNetclassPatternAssignments();
118 void ClearNetclassPatternAssignments();
121 void ClearCacheForNet(
const wxString& netName );
124 void ClearAllCaches();
131 const std::map<wxString, KIGFX::COLOR4D>& GetNetColorAssignments()
const;
135 void ClearNetColorAssignments();
138 bool HasEffectiveNetClass(
const wxString& aNetName )
const;
142 std::shared_ptr<NETCLASS> GetCachedEffectiveNetClass(
const wxString& aNetName )
const;
146 std::shared_ptr<NETCLASS> GetEffectiveNetClass(
const wxString& aNetName );
151 void RecomputeEffectiveNetclasses();
159 std::shared_ptr<NETCLASS> GetNetClassByName(
const wxString& aNetName )
const;
171 static bool ParseBusVector(
const wxString& aBus, wxString* aName,
172 std::vector<wxString>* aMemberList );
182 static bool ParseBusGroup(
const wxString& aGroup, wxString*
name,
183 std::vector<wxString>* aMemberList );
186 bool migrateSchema0to1();
187 bool migrateSchema1to2();
188 bool migrateSchema2to3();
189 bool migrateSchema3to4();
190 bool migrateSchema4to5();
201 void makeEffectiveNetclass( std::shared_ptr<NETCLASS>& effectiveNetclass,
202 std::vector<NETCLASS*>& netclasses )
const;
206 bool addMissingDefaults(
NETCLASS* nc )
const;
218 std::vector<std::pair<std::unique_ptr<EDA_COMBINED_MATCHER>, wxString>>