KiCad PCB EDA Suite
Loading...
Searching...
No Matches
sch_sheet_path.h
Go to the documentation of this file.
1/*
2 * This program source code file is part of KiCad, a free EDA CAD application.
3 *
4 * Copyright (C) 2017 Jean-Pierre Charras, jp.charras at wanadoo.fr
5 * Copyright (C) 2011 Wayne Stambaugh <[email protected]>
6 * Copyright The KiCad Developers, see AUTHORS.txt for contributors.
7 *
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License
10 * as published by the Free Software Foundation; either version 2
11 * of the License, or (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program. If not, see <https://www.gnu.org/licenses/>.
20 */
21
26
27#ifndef CLASS_DRAWSHEET_PATH_H
28#define CLASS_DRAWSHEET_PATH_H
29
30#include <map>
31#include <memory>
32#include <optional>
33
34#include <kiid.h>
35#include <lib_id.h>
36#include <pin_map.h>
37#include <wx/string.h>
38
39class SCH_SYMBOL;
40class SCH_SHEET;
41
48
53{
54public:
55 VARIANT( const wxString& aName = wxEmptyString ) :
56 m_Name( aName ),
57 m_ExcludedFromSim( false ),
58 m_ExcludedFromBOM( false ),
59 m_ExcludedFromBoard( false ),
61 m_DNP( false )
62 {
63 }
64
65 virtual ~VARIANT() = default;
66
67 wxString m_Name;
68 wxString m_Description;
73 bool m_DNP;
74 std::map<wxString, wxString> m_Fields;
75};
76
77
87{
88public:
89 SCH_SYMBOL_VARIANT( const wxString& aName = wxEmptyString ) :
90 VARIANT( aName )
91 {}
92
93 void InitializeAttributes( const SCH_SYMBOL& aSymbol );
94
97 bool HasDifferentials( const SCH_SYMBOL& aSymbol ) const;
98
99 virtual ~SCH_SYMBOL_VARIANT() = default;
100
103
105 std::optional<LIB_ID> m_SymbolOverride;
106};
107
108
113{
115
116 // Things that can be annotated:
117 wxString m_Reference;
118 int m_Unit = 1;
119
120 // Do not use. This is left over from the dubious decision to instantiate symbol value
121 // and footprint fields. This is now handle by variants.
122 wxString m_Value;
123 wxString m_Footprint;
124
125 // The project name associated with this instance.
127
128 bool m_DNP = false;
129 bool m_ExcludedFromBOM = false;
130 bool m_ExcludedFromSim = false;
133
135 std::map<wxString, SCH_SYMBOL_VARIANT> m_Variants;
136};
137
138
150{
151public:
152 SCH_SHEET_VARIANT( const wxString& aName = wxEmptyString ) :
153 VARIANT( aName )
154 {}
155
156 virtual ~SCH_SHEET_VARIANT() = default;
157
158 void InitializeAttributes( const SCH_SHEET& aSheet );
159
161 bool HasDifferentials( const SCH_SHEET& aSheet ) const;
162};
163
164
169{
171
172 wxString m_PageNumber;
173
174 // The project name associated with this instance.
176
177 bool m_DNP = false;
178 bool m_ExcludedFromBOM = false;
179 bool m_ExcludedFromSim = false;
182
184 std::map<wxString, SCH_SHEET_VARIANT> m_Variants;
185};
186
187
220
221
222class EDA_ITEM;
223class SCH_SHEET;
224class SCH_SCREEN;
225class SCH_MARKER;
226class SCH_ITEM;
227class SCH_SYMBOL;
229
230
234typedef std::map<wxString, SCH_REFERENCE_LIST> SCH_MULTI_UNIT_REFERENCE_MAP;
235
246{
247public:
249
250 SCH_SHEET_PATH( const SCH_SHEET_PATH& aOther );
251
252 SCH_SHEET_PATH& operator=( const SCH_SHEET_PATH& aOther );
253
254 // Move assignment operator
256
257 void Swap( SCH_SHEET_PATH& aOther ) noexcept;
258
259 SCH_SHEET_PATH operator+( const SCH_SHEET_PATH& aOther );
260
261 ~SCH_SHEET_PATH() = default;
262
264 SCH_SHEET* at( size_t aIndex ) const { return m_sheets.at( aIndex ); }
265
267 void clear()
268 {
269 m_sheets.clear();
270 Rehash();
271 }
272
274 bool empty() const { return m_sheets.empty(); }
275
277 void pop_back()
278 {
279 m_sheets.pop_back();
280 Rehash();
281 }
282
284 void push_back( SCH_SHEET* aSheet );
285
287 size_t size() const { return m_sheets.size(); }
288
289 std::vector<SCH_SHEET*>::iterator erase( std::vector<SCH_SHEET*>::const_iterator aPosition )
290 {
291 std::vector<SCH_SHEET*>::iterator ret = m_sheets.erase( aPosition );
292
293 // Rehash to keep m_current_hash and the cached path consistent with the shortened list.
294 Rehash();
295
296 return ret;
297 }
298
299 void Rehash();
300
301 size_t GetCurrentHash() const { return m_current_hash; }
302
312 void SetVirtualPageNumber( int aPageNumber ) { m_virtualPageNumber = aPageNumber; }
313
315
321 void SetPageNumber( const wxString& aPageNumber );
322
323 wxString GetPageNumber() const;
324
325 int GetPageNumberAsInt() const;
326
327 const SCH_SHEET* GetSheet( unsigned aIndex ) const
328 {
329 SCH_SHEET* retv = nullptr;
330
331 if( aIndex < size() )
332 retv = at( aIndex );
333
334 return retv;
335 }
336
345 int Cmp( const SCH_SHEET_PATH& aSheetPathToTest ) const;
346
348 wxString GetCachedPageNumber() const { return m_cached_page_number; }
349
358 int ComparePageNum( const SCH_SHEET_PATH& aSheetPathToTest ) const;
359
366 bool IsContainedWithin( const SCH_SHEET_PATH& aSheetPathToTest ) const;
367
373 SCH_SHEET* Last() const;
374
379
380
382 SCH_SCREEN* LastScreen() const;
383
384 bool GetExcludedFromSim() const;
385 bool GetExcludedFromSim( const wxString& aVariantName ) const;
386 bool GetExcludedFromBOM() const;
387 bool GetExcludedFromBOM( const wxString& aVariantName ) const;
388 bool GetExcludedFromBoard() const;
389 bool GetExcludedFromBoard( const wxString& aVariantName ) const;
390 bool GetDNP() const;
391 bool GetDNP( const wxString& aVariantName ) const;
392
396 SCH_ITEM* ResolveItem( const KIID& aID ) const;
397
403 wxString PathAsString() const;
404
414 KIID_PATH Path() const;
415
417 const KIID_PATH& PathRef() const { return m_path; }
418
434 wxString PathHumanReadable( bool aUseShortRootName = true,
435 bool aStripTrailingSeparator = false,
436 bool aEscapeSheetNames = false ) const;
437
444 void UpdateAllScreenReferences() const;
445
456 void AppendSymbol( SCH_REFERENCE_LIST& aReferences, SCH_SYMBOL* aSymbol,
457 SYMBOL_FILTER aSymbolFilter, bool aForceIncludeOrphanSymbols = false ) const;
458
468 void GetSymbols( SCH_REFERENCE_LIST& aReferences, SYMBOL_FILTER aSymbolFilter,
469 bool aForceIncludeOrphanSymbols = false ) const;
470
482 SYMBOL_FILTER aSymbolFilter ) const;
483
494 SYMBOL_FILTER aSymbolFilter ) const;
495
505 bool TestForRecursion( const wxString& aSrcFileName, const wxString& aDestFileName );
506
524
542 void AddNewSymbolInstances( const SCH_SHEET_PATH& aPrefixSheetPath,
543 const wxString& aProjectName );
544
545 void RemoveSymbolInstances( const SCH_SHEET_PATH& aPrefixSheetPath );
546
547 void CheckForMissingSymbolInstances( const wxString& aProjectName );
548
560 bool IsSharedPath() const;
561
562 bool operator==( const SCH_SHEET_PATH& d1 ) const;
563
564 bool operator!=( const SCH_SHEET_PATH& d1 ) const { return !( *this == d1 ) ; }
565
566 bool operator<( const SCH_SHEET_PATH& d1 ) const { return m_sheets < d1.m_sheets; }
567
568private:
569 void initFromOther( const SCH_SHEET_PATH& aOther );
570
571protected:
572 std::vector<SCH_SHEET*> m_sheets;
573
575 mutable wxString m_cached_page_number;
576
579
581
582 std::map<std::pair<wxString, wxString>, bool> m_recursion_test_cache;
583};
584
585
586namespace std
587{
588 template<> struct hash<SCH_SHEET_PATH>
589 {
590 size_t operator()( const SCH_SHEET_PATH& path ) const;
591 };
592}
593
595{
596 size_t operator()( const SCH_SHEET_PATH& path ) const
597 {
598 return path.GetCurrentHash();
599 }
600};
601
603{
604 bool operator()( const SCH_SHEET_PATH& lhs, const SCH_SHEET_PATH& rhs ) const
605 {
606 return lhs.GetCurrentHash() < rhs.GetCurrentHash();
607 }
608};
609
610
619class SCH_SHEET_LIST : public std::vector<SCH_SHEET_PATH>
620{
621public:
627 SCH_SHEET_LIST( SCH_SHEET* aSheet = nullptr );
628
630
636 bool IsModified() const;
637
638 void ClearModifyStatus();
639
645 SCH_ITEM* ResolveItem( const KIID& aID, SCH_SHEET_PATH* aPathOut = nullptr,
646 bool aAllowNullptrReturn = false ) const;
647
651 void FillItemMap( std::map<KIID, EDA_ITEM*>& aMap );
652
662
672 void GetSymbols( SCH_REFERENCE_LIST& aReferences, SYMBOL_FILTER aSymbolFilter,
673 bool aForceIncludeOrphanSymbols = false ) const;
674
686 void GetSymbolsWithinPath( SCH_REFERENCE_LIST& aReferences, const SCH_SHEET_PATH& aSheetPath,
687 SYMBOL_FILTER aSymbolFilter,
688 bool aForceIncludeOrphanSymbols = false ) const;
689
697 void GetSheetsWithinPath( std::vector<SCH_SHEET_PATH>& aSheets,
698 const SCH_SHEET_PATH& aSheetPath ) const;
699
700
706 std::optional<SCH_SHEET_PATH> GetSheetPathByKIIDPath( const KIID_PATH& aPath,
707 bool aIncludeLastSheet = true ) const;
708
709
719 SYMBOL_FILTER aSymbolFilter ) const;
720
729 bool TestForRecursion( const SCH_SHEET_LIST& aSrcSheetHierarchy,
730 const wxString& aDestFileName );
731
737
743
747 SCH_SHEET_LIST FindAllSheetsForScreen( const SCH_SCREEN* aScreen ) const;
748
763 void BuildSheetList( SCH_SHEET* aSheet, bool aCheckIntegrity );
764
774 void SortByPageNumbers( bool aUpdateVirtualPageNums = true );
775
781 void SortByHierarchicalPageNumbers( bool aUpdateVirtualPageNums = true );
782
783 bool NameExists( const wxString& aSheetName ) const;
784
785 bool PageNumberExists( const wxString& aPageNumber ) const;
786
792 void TrimToPageNumbers( const std::vector<wxString>& aPageInclusions );
793
797 wxString GetNextPageNumber() const;
798
806 void UpdateSymbolInstanceData( const std::vector<SCH_SYMBOL_INSTANCE>& aSymbolInstances );
807
815 void UpdateSheetInstanceData( const std::vector<SCH_SHEET_INSTANCE>& aSheetInstances );
816
817 std::vector<KIID_PATH> GetPaths() const;
818
824 std::vector<SCH_SHEET_INSTANCE> GetSheetInstances() const;
825
834 bool AllSheetPageNumbersEmpty() const;
835
843
854 bool RepairPageNumbers();
855
863 void AddNewSymbolInstances( const SCH_SHEET_PATH& aPrefixSheetPath,
864 const wxString& aProjectName );
865
866 void AddNewSheetInstances( const SCH_SHEET_PATH& aPrefixSheetPath,
867 int aLastVirtualPageNumber );
868
869 int GetLastVirtualPageNumber() const;
870
871 void RemoveSymbolInstances( const SCH_SHEET_PATH& aPrefixSheetPath );
872
873 void CheckForMissingSymbolInstances( const wxString& aProjectName );
874
875 bool HasPath( const KIID_PATH& aPath ) const;
876
877 bool ContainsSheet( const SCH_SHEET* aSheet ) const;
878
888 std::optional<SCH_SHEET_PATH> GetOrdinalPath( const SCH_SCREEN* aScreen ) const;
889
890private:
892};
893
894#endif // CLASS_DRAWSHEET_PATH_H
A base class for most all the KiCad significant classes used in schematics and boards.
Definition eda_item.h:98
Definition kiid.h:46
Base class for any item which can be embedded within the SCHEMATIC container class,...
Definition sch_item.h:165
Container to create a flattened list of symbols because in a complex hierarchy, a symbol can be used ...
A container for handling SCH_SHEET_PATH objects in a flattened hierarchy.
std::optional< SCH_SHEET_PATH > GetSheetPathByKIIDPath(const KIID_PATH &aPath, bool aIncludeLastSheet=true) const
Finds a SCH_SHEET_PATH that matches the provided KIID_PATH.
SCH_ITEM * ResolveItem(const KIID &aID, SCH_SHEET_PATH *aPathOut=nullptr, bool aAllowNullptrReturn=false) const
Fetch a SCH_ITEM by ID.
std::optional< SCH_SHEET_PATH > GetOrdinalPath(const SCH_SCREEN *aScreen) const
Return the ordinal sheet path of aScreen.
void FillItemMap(std::map< KIID, EDA_ITEM * > &aMap)
Fill an item cache for temporary use when many items need to be fetched.
SCH_SHEET_PATH m_currentSheetPath
void TrimToPageNumbers(const std::vector< wxString > &aPageInclusions)
Truncates the list by removing sheet's with page numbers not in the given list.
void SortByPageNumbers(bool aUpdateVirtualPageNums=true)
Sort the list of sheets by page number.
void AddNewSymbolInstances(const SCH_SHEET_PATH &aPrefixSheetPath, const wxString &aProjectName)
Attempt to add new symbol instances for all symbols in this list of sheet paths prefixed with aPrefix...
bool NameExists(const wxString &aSheetName) const
void GetSymbolsWithinPath(SCH_REFERENCE_LIST &aReferences, const SCH_SHEET_PATH &aSheetPath, SYMBOL_FILTER aSymbolFilter, bool aForceIncludeOrphanSymbols=false) const
Add a SCH_REFERENCE object to aReferences for each symbol in the list of sheets that are contained wi...
std::vector< SCH_SHEET_INSTANCE > GetSheetInstances() const
Fetch the instance information for all of the sheets in the hierarchy.
void UpdateSheetInstanceData(const std::vector< SCH_SHEET_INSTANCE > &aSheetInstances)
Update all of the sheet instance information using aSheetInstances.
void SetInitialPageNumbers()
Set initial sheet page numbers.
void RemoveSymbolInstances(const SCH_SHEET_PATH &aPrefixSheetPath)
SCH_SHEET_LIST FindAllSheetsForScreen(const SCH_SCREEN *aScreen) const
Return a SCH_SHEET_LIST with a copy of all the SCH_SHEET_PATH using a particular screen.
wxString GetNextPageNumber() const
bool AllSheetPageNumbersEmpty() const
Check all of the sheet instance for empty page numbers.
bool IsModified() const
Check the entire hierarchy for any modifications.
SCH_SHEET_LIST(SCH_SHEET *aSheet=nullptr)
Construct a flattened list of SCH_SHEET_PATH objects from aSheet.
void AnnotatePowerSymbols()
Silently annotate the not yet annotated power symbols of the entire hierarchy of the sheet path list.
int GetLastVirtualPageNumber() const
void UpdateSymbolInstanceData(const std::vector< SCH_SYMBOL_INSTANCE > &aSymbolInstances)
Update all of the symbol instance information using aSymbolInstances.
void GetSheetsWithinPath(std::vector< SCH_SHEET_PATH > &aSheets, const SCH_SHEET_PATH &aSheetPath) const
Add a SCH_SHEET_PATH object to aSheets for each sheet in the list that are contained within aSheetPat...
bool PageNumberExists(const wxString &aPageNumber) const
void SortByHierarchicalPageNumbers(bool aUpdateVirtualPageNums=true)
This works like SortByPageNumbers, but it sorts the sheets first by their hierarchical depth and then...
void AddNewSheetInstances(const SCH_SHEET_PATH &aPrefixSheetPath, int aLastVirtualPageNumber)
void GetMultiUnitSymbols(SCH_MULTI_UNIT_REFERENCE_MAP &aRefList, SYMBOL_FILTER aSymbolFilter) const
Add a SCH_REFERENCE_LIST object to aRefList for each same-reference set of multi-unit parts in the li...
bool ContainsSheet(const SCH_SHEET *aSheet) const
bool RepairPageNumbers()
Assign valid page numbers to sheet paths whose stored page number is missing or collides with an earl...
std::vector< KIID_PATH > GetPaths() const
void BuildSheetList(SCH_SHEET *aSheet, bool aCheckIntegrity)
Build the list of sheets and their sheet path from aSheet.
SCH_SHEET_PATH FindSheetForScreen(const SCH_SCREEN *aScreen)
Return the first SCH_SHEET_PATH object (not necessarily the only one) using a particular screen.
void CheckForMissingSymbolInstances(const wxString &aProjectName)
bool HasPath(const KIID_PATH &aPath) const
SCH_SHEET_PATH * FindSheetForPath(const SCH_SHEET_PATH *aPath)
Return a pointer to the first SCH_SHEET_PATH object (not necessarily the only one) matching the provi...
void GetSymbols(SCH_REFERENCE_LIST &aReferences, SYMBOL_FILTER aSymbolFilter, bool aForceIncludeOrphanSymbols=false) const
Add a SCH_REFERENCE object to aReferences for each symbol in the list of sheets.
bool TestForRecursion(const SCH_SHEET_LIST &aSrcSheetHierarchy, const wxString &aDestFileName)
Test every SCH_SHEET_PATH in this SCH_SHEET_LIST to verify if adding the sheets stored in aSrcSheetHi...
Handle access to a stack of flattened SCH_SHEET objects by way of a path for creating a flattened sch...
void AppendSymbol(SCH_REFERENCE_LIST &aReferences, SCH_SYMBOL *aSymbol, SYMBOL_FILTER aSymbolFilter, bool aForceIncludeOrphanSymbols=false) const
Append a SCH_REFERENCE object to aReferences based on aSymbol.
bool IsSharedPath() const
Determine if this sheet path is shared in a complex hierarchy.
KIID_PATH m_path
The UUID path of m_sheets, kept in step with it by Rehash().
bool GetExcludedFromBOM() const
bool operator!=(const SCH_SHEET_PATH &d1) const
void Swap(SCH_SHEET_PATH &aOther) noexcept
const SCH_SHEET * GetSheet(unsigned aIndex) const
bool empty() const
Forwarded method from std::vector.
int ComparePageNum(const SCH_SHEET_PATH &aSheetPathToTest) const
Compare sheets by their page number.
size_t GetCurrentHash() const
void GetMultiUnitSymbols(SCH_MULTI_UNIT_REFERENCE_MAP &aRefList, SYMBOL_FILTER aSymbolFilter) const
Add a SCH_REFERENCE_LIST object to aRefList for each same-reference set of multi-unit parts in the sh...
void GetSymbols(SCH_REFERENCE_LIST &aReferences, SYMBOL_FILTER aSymbolFilter, bool aForceIncludeOrphanSymbols=false) const
Adds SCH_REFERENCE object to aReferences for each symbol in the sheet.
std::vector< SCH_SHEET * >::iterator erase(std::vector< SCH_SHEET * >::const_iterator aPosition)
bool operator==(const SCH_SHEET_PATH &d1) const
void AddNewSymbolInstances(const SCH_SHEET_PATH &aPrefixSheetPath, const wxString &aProjectName)
Attempt to add new symbol instances for all symbols in this sheet path prefixed with aPrefixSheetPath...
KIID_PATH Path() const
Get the sheet path as an KIID_PATH.
bool TestForRecursion(const wxString &aSrcFileName, const wxString &aDestFileName)
Test the SCH_SHEET_PATH file names to check adding the sheet stored in the file aSrcFileName to the s...
void UpdateAllScreenReferences() const
Update all the symbol references for this sheet path.
bool operator<(const SCH_SHEET_PATH &d1) const
void MakeFilePathRelativeToParentSheet()
Make the sheet file name relative to its parent sheet.
SCH_ITEM * ResolveItem(const KIID &aID) const
Fetch a SCH_ITEM by ID.
wxString GetCachedPageNumber() const
std::vector< SCH_SHEET * > m_sheets
SCH_SCREEN * LastScreen()
int Cmp(const SCH_SHEET_PATH &aSheetPathToTest) const
Compare if this is the same sheet path as aSheetPathToTest.
void initFromOther(const SCH_SHEET_PATH &aOther)
wxString m_cached_page_number
wxString GetPageNumber() const
void RemoveSymbolInstances(const SCH_SHEET_PATH &aPrefixSheetPath)
void CheckForMissingSymbolInstances(const wxString &aProjectName)
bool IsContainedWithin(const SCH_SHEET_PATH &aSheetPathToTest) const
Check if this path is contained inside aSheetPathToTest.
~SCH_SHEET_PATH()=default
void CachePageNumber() const
SCH_SHEET * at(size_t aIndex) const
Forwarded method from std::vector.
void SetVirtualPageNumber(int aPageNumber)
Set the sheet instance virtual page number.
wxString PathHumanReadable(bool aUseShortRootName=true, bool aStripTrailingSeparator=false, bool aEscapeSheetNames=false) const
Return the sheet path in a human readable form made from the sheet names.
std::map< std::pair< wxString, wxString >, bool > m_recursion_test_cache
bool GetExcludedFromSim() const
wxString PathAsString() const
Return the path of time stamps which do not changes even when editing sheet parameters.
void AppendMultiUnitSymbol(SCH_MULTI_UNIT_REFERENCE_MAP &aRefList, SCH_SYMBOL *aSymbol, SYMBOL_FILTER aSymbolFilter) const
Append a SCH_REFERENCE_LIST object to aRefList based on aSymbol, storing same-reference set of multi-...
bool GetExcludedFromBoard() const
void SetPageNumber(const wxString &aPageNumber)
Set the sheet instance user definable page number.
SCH_SHEET_PATH & operator=(const SCH_SHEET_PATH &aOther)
int GetPageNumberAsInt() const
bool GetDNP() const
SCH_SHEET * Last() const
Return a pointer to the last SCH_SHEET of the list.
SCH_SHEET_PATH operator+(const SCH_SHEET_PATH &aOther)
const KIID_PATH & PathRef() const
Borrow the cached path until this sheet path is modified or destroyed.
int m_virtualPageNumber
Page numbers are maintained by the sheet load order.
void push_back(SCH_SHEET *aSheet)
Forwarded method from std::vector.
void clear()
Forwarded method from std::vector.
size_t size() const
Forwarded method from std::vector.
int GetVirtualPageNumber() const
void pop_back()
Forwarded method from std::vector.
void InitializeAttributes(const SCH_SHEET &aSheet)
SCH_SHEET_VARIANT(const wxString &aName=wxEmptyString)
virtual ~SCH_SHEET_VARIANT()=default
bool HasDifferentials(const SCH_SHEET &aSheet) const
Return true if the variant carries any differential against the base sheet values.
Sheet symbol placed in a schematic, and is the entry point for a sub schematic.
Definition sch_sheet.h:48
PIN_MAP_INSTANCE_OVERRIDE m_PinMapOverride
Per-instance pin-to-pad map override for this variant (issue #2282).
virtual ~SCH_SYMBOL_VARIANT()=default
std::optional< LIB_ID > m_SymbolOverride
Alternate library symbol to substitute for the base symbol in this variant, if any.
void InitializeAttributes(const SCH_SYMBOL &aSymbol)
bool HasDifferentials(const SCH_SYMBOL &aSymbol) const
Return true if the variant carries any differential against the base symbol values,...
SCH_SYMBOL_VARIANT(const wxString &aName=wxEmptyString)
Schematic symbol object.
Definition sch_symbol.h:75
wxString m_Name
virtual ~VARIANT()=default
bool m_ExcludedFromBOM
std::map< wxString, wxString > m_Fields
bool m_ExcludedFromPosFiles
bool m_ExcludedFromSim
bool m_ExcludedFromBoard
wxString m_Description
VARIANT(const wxString &aName=wxEmptyString)
STL namespace.
std::map< wxString, SCH_REFERENCE_LIST > SCH_MULTI_UNIT_REFERENCE_MAP
Container to map reference designators for multi-unit parts.
SYMBOL_FILTER
@ SYMBOL_FILTER_NON_POWER
@ SYMBOL_FILTER_ALL
@ SYMBOL_FILTER_POWER
Per-instance override of the active pin map and a sparse delta on top.
Definition pin_map.h:200
A simple container for sheet instance information.
std::map< wxString, SCH_SHEET_VARIANT > m_Variants
A list of sheet variants.
A simple container for schematic symbol instance information.
std::map< wxString, SCH_SYMBOL_VARIANT > m_Variants
A list of symbol variants.
bool operator()(const SCH_SHEET_PATH &lhs, const SCH_SHEET_PATH &rhs) const
size_t operator()(const SCH_SHEET_PATH &path) const
size_t operator()(const SCH_SHEET_PATH &path) const
std::string path