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 if( aClass.IsEmpty() )
207 bool HasEffectiveNetClass(
const wxString& aNetName )
const;
211 std::shared_ptr<NETCLASS> GetCachedEffectiveNetClass(
const wxString& aNetName )
const;
215 std::shared_ptr<NETCLASS> GetEffectiveNetClass(
const wxString& aNetName );
220 void RecomputeEffectiveNetclasses();
228 std::shared_ptr<NETCLASS> GetNetClassByName(
const wxString& aNetName )
const;
240 static bool ParseBusVector(
const wxString& aBus, wxString* aName,
241 std::vector<wxString>* aMemberList );
251 static bool ParseBusGroup(
const wxString& aGroup, wxString*
name,
252 std::vector<wxString>* aMemberList );
266 static void ForEachBusMember(
const wxString& aBusPattern,
267 const std::function<
void(
const wxString& )>& aFunction );
270 bool migrateSchema0to1();
271 bool migrateSchema1to2();
272 bool migrateSchema2to3();
273 bool migrateSchema3to4();
274 bool migrateSchema4to5();
285 void makeEffectiveNetclass( std::shared_ptr<NETCLASS>& effectiveNetclass,
286 std::vector<NETCLASS*>& netclasses )
const;
290 bool addMissingDefaults(
NETCLASS* nc )
const;
293 void addSinglePatternAssignment(
const wxString& pattern,
const wxString& netclass );
296 void addSingleChainPatternAssignment(
const wxString& pattern,
const wxString& netclass );
308 std::vector<std::pair<std::unique_ptr<EDA_COMBINED_MATCHER>, wxString>>
316 std::vector<std::pair<std::unique_ptr<EDA_COMBINED_MATCHER>, wxString>>