78 void SetDefaultNetclass( std::shared_ptr<NETCLASS> netclass );
81 std::shared_ptr<NETCLASS> GetDefaultNetclass()
const;
84 bool HasNetclass(
const wxString& netclassName )
const;
88 void SetNetclass(
const wxString& netclassName, std::shared_ptr<NETCLASS>& netclass );
92 void SetNetclasses(
const std::map<wxString, std::shared_ptr<NETCLASS>>& netclasses );
95 const std::map<wxString, std::shared_ptr<NETCLASS>>& GetNetclasses()
const;
100 const std::map<wxString, std::shared_ptr<NETCLASS>>& GetCompositeNetclasses()
const;
104 void ClearNetclasses();
107 const std::map<wxString, std::set<wxString>>& GetNetclassLabelAssignments()
const;
111 void ClearNetclassLabelAssignments();
115 void ClearNetclassLabelAssignment(
const wxString& netName );
119 void SetNetclassLabelAssignment(
const wxString& netName,
120 const std::set<wxString>& netclasses );
124 void AppendNetclassLabelAssignment(
const wxString& netName,
125 const std::set<wxString>& netclasses );
128 bool HasNetclassLabelAssignment(
const wxString& netName )
const;
132 void SetNetclassPatternAssignment(
const wxString& pattern,
const wxString& netclass );
136 void SetNetclassPatternAssignments(
137 std::vector<std::pair<std::unique_ptr<EDA_COMBINED_MATCHER>, wxString>>&&
141 std::vector<std::pair<std::unique_ptr<EDA_COMBINED_MATCHER>, wxString>>&
142 GetNetclassPatternAssignments();
145 void ClearNetclassPatternAssignments();
153 void SetChainPatternAssignment(
const wxString& pattern,
const wxString& netclass );
157 void ClearChainPatternAssignments();
163 void ClearCacheForNet(
const wxString& netName );
166 void ClearAllCaches();
170 void SetNetColorAssignment(
const wxString& netName,
const KIGFX::COLOR4D& color );
173 const std::map<wxString, KIGFX::COLOR4D>& GetNetColorAssignments()
const;
177 void ClearNetColorAssignments();
182 bool RenameNetPathPrefix(
const wxString& aOldPrefix,
const wxString& aNewPrefix );
187 if( aClass.IsEmpty() )
212 bool HasEffectiveNetClass(
const wxString& aNetName )
const;
216 std::shared_ptr<NETCLASS> GetCachedEffectiveNetClass(
const wxString& aNetName )
const;
220 std::shared_ptr<NETCLASS> GetEffectiveNetClass(
const wxString& aNetName );
225 void RecomputeEffectiveNetclasses();
233 std::shared_ptr<NETCLASS> GetNetClassByName(
const wxString& aNetName )
const;
245 static bool ParseBusVector(
const wxString& aBus, wxString* aName,
246 std::vector<wxString>* aMemberList );
256 static bool ParseBusGroup(
const wxString& aGroup, wxString*
name,
257 std::vector<wxString>* aMemberList );
271 static void ForEachBusMember(
const wxString& aBusPattern,
272 const std::function<
void(
const wxString& )>& aFunction );
275 bool migrateSchema0to1();
276 bool migrateSchema1to2();
277 bool migrateSchema2to3();
278 bool migrateSchema3to4();
279 bool migrateSchema4to5();
290 void makeEffectiveNetclass( std::shared_ptr<NETCLASS>& effectiveNetclass,
291 std::vector<NETCLASS*>& netclasses )
const;
295 bool addMissingDefaults(
NETCLASS* nc )
const;
298 void addSinglePatternAssignment(
const wxString& pattern,
const wxString& netclass );
301 void addSingleChainPatternAssignment(
const wxString& pattern,
const wxString& netclass );
313 std::vector<std::pair<std::unique_ptr<EDA_COMBINED_MATCHER>, wxString>>
321 std::vector<std::pair<std::unique_ptr<EDA_COMBINED_MATCHER>, wxString>>