58 const wxString& aPath = wxEmptyString );
83 void walk(
const SCHEMATIC* aSchematic, std::vector<WalkedItem>& aOut,
84 std::vector<std::unique_ptr<SCH_SHEET_PATH>>& aStorage,
const KIID_PATH& aScope = {} )
const;
104 static void sortChanges( std::vector<ITEM_CHANGE>& aChanges );
const SCHEMATIC * m_after
static std::optional< wxString > itemRefdes(const SCH_ITEM *aItem, const SCH_SHEET_PATH *aPath)
Refdes if the item is a symbol; nullopt otherwise.
static wxString itemTypeName(const SCH_ITEM *aItem)
Type name for an SCH_ITEM (used in diff records).
void SetScope(const KIID_PATH &aBeforeScope, const KIID_PATH &aAfterScope)
Restrict the diff to one sheet on each side.
const SCHEMATIC * m_before
SCH_DIFFER(const SCHEMATIC *aBefore, const SCHEMATIC *aAfter, const wxString &aPath=wxEmptyString)
static void sortChanges(std::vector< ITEM_CHANGE > &aChanges)
std::vector< PROPERTY_DELTA > diffProperties(const SCH_ITEM *aBefore, const SCH_ITEM *aAfter, const SCH_SHEET_PATH *aBeforePath, const SCH_SHEET_PATH *aAfterPath) const
Property-level delta via PROPERTY_MANAGER.
const SCHEMATIC * After() const
DOCUMENT_DIFF Diff() override
Produce a DOCUMENT_DIFF of the inputs the concrete differ was constructed with.
void walk(const SCHEMATIC *aSchematic, std::vector< WalkedItem > &aOut, std::vector< std::unique_ptr< SCH_SHEET_PATH > > &aStorage, const KIID_PATH &aScope={}) const
Walk a schematic and produce a flat list of (KIID_PATH, item) tuples.
const SCHEMATIC * Before() const
Holds all the data relating to one schematic.
Base class for any item which can be embedded within the SCHEMATIC container class,...
Handle access to a stack of flattened SCH_SHEET objects by way of a path for creating a flattened sch...
The full set of changes between two parsed documents of one type.
SCH_SHEET_PATH * sheetPath