KiCad PCB EDA Suite
Loading...
Searching...
No Matches
auto_resolution.cpp File Reference
#include <diff_merge/auto_resolution.h>
#include <nlohmann/json.hpp>
#include <wx/intl.h>
#include <set>

Go to the source code of this file.

Namespaces

namespace  KICAD_DIFF
 

Functions

AUTO_RESOLUTION_PARSE_RESULT KICAD_DIFF::ParseAutoResolutionJson (const std::string &aJsonContent)
 Parse a KICAD_MERGETOOL_AUTO-format JSON object mapping item IDs (KIID_PATH strings) to ITEM_RES spellings (the canonical snake_case names emitted by ItemResToString).
 
APPLY_AUTO_RESOLUTIONS_RESULT KICAD_DIFF::ApplyAutoResolutions (MERGE_PLAN &aPlan, const std::vector< std::size_t > &aConflictActionIndices, const std::map< wxString, ITEM_RES > &aResolutions)
 Apply a parsed auto-resolution map to a MERGE_PLAN's conflicts.
 
std::vector< CONFLICT_LIST_ENTRYKICAD_DIFF::BuildConflictList (const MERGE_PLAN &aPlan)
 
std::vector< KIID_PATHKICAD_DIFF::CollectUnresolvedConflicts (const MERGE_PLAN &aPlan, const std::vector< std::size_t > &aConflictActionIndices)
 Return the subset of conflict actions whose kind is NOT one of the concrete TAKE_OURS / TAKE_THEIRS / TAKE_ANCESTOR — the dialog uses this to refuse Apply when the user hasn't picked a side on every conflict.
 
std::optional< BOX2IKICAD_DIFF::ResolveConflictBBox (const KIID_PATH &aId, const std::map< KIID_PATH, BOX2I > &aPrimary, const std::map< KIID_PATH, BOX2I > &aOurs, const std::map< KIID_PATH, BOX2I > &aTheirs, const std::map< KIID_PATH, BOX2I > &aAncestor)
 Resolve the best bounding box for a conflicted item across the three sides of a 3-way merge.
 
wxString KICAD_DIFF::BuildConflictDetailText (const ITEM_RESOLUTION &aResolution)
 Build the human-readable detail text shown in the merge dialog's resolution panel for a given ITEM_RESOLUTION.