KiCad PCB EDA Suite
Loading...
Searching...
No Matches
DIALOG_KICAD_MERGE_3WAY::CONFLICT_CONTEXT Struct Reference

Phase 8 context for the conflict canvas. More...

#include <dialog_kicad_merge_3way.h>

Public Attributes

KICAD_DIFF::DOCUMENT_GEOMETRY ancestorGeometry
 
KICAD_DIFF::DOCUMENT_GEOMETRY oursGeometry
 
KICAD_DIFF::DOCUMENT_GEOMETRY theirsGeometry
 
std::map< KIID_PATH, BOX2I > ancestorBBoxes
 Per-side bbox of each conflicting item.
 
std::map< KIID_PATH, BOX2I > oursBBoxes
 
std::map< KIID_PATH, BOX2I > theirsBBoxes
 
std::function< void(WIDGET_DIFF_CANVAS &, SIDE, const std::optional< KIID_PATH > &)> drawSide
 Draw a side on the canvas with the editor's own painter.
 
wxString formatNotice
 Shown with the instructions when the merge cannot keep a side's file format.
 
std::function< wxString(const KIID_PATH &)> describeItem
 Name an item the way the editor would, so a conflict can be told from its neighbours.
 

Detailed Description

Phase 8 context for the conflict canvas.

Each side carries the document geometry extracted from that side's loaded BOARD or SCHEMATIC plus a per-item bbox map; the dialog picks the side to display based on the radio selection and outlines the focused conflict at its on-that-side coordinates so a moved-on-theirs item highlights at the moved location when previewing Theirs.

Definition at line 70 of file dialog_kicad_merge_3way.h.

Member Data Documentation

◆ ancestorBBoxes

std::map<KIID_PATH, BOX2I> DIALOG_KICAD_MERGE_3WAY::CONFLICT_CONTEXT::ancestorBBoxes

Per-side bbox of each conflicting item.

Empty entries fall back through ancestor → ours → theirs at lookup time.

Definition at line 78 of file dialog_kicad_merge_3way.h.

◆ ancestorGeometry

KICAD_DIFF::DOCUMENT_GEOMETRY DIALOG_KICAD_MERGE_3WAY::CONFLICT_CONTEXT::ancestorGeometry

◆ describeItem

std::function<wxString( const KIID_PATH& )> DIALOG_KICAD_MERGE_3WAY::CONFLICT_CONTEXT::describeItem

Name an item the way the editor would, so a conflict can be told from its neighbours.

Left empty, or returning nothing, falls back to the item's identifier.

Definition at line 95 of file dialog_kicad_merge_3way.h.

Referenced by PCBNEW_JOBS_HANDLER::runPcbMerge(), and EESCHEMA_JOBS_HANDLER::runSchMerge().

◆ drawSide

std::function<void( WIDGET_DIFF_CANVAS&, SIDE, const std::optional<KIID_PATH>& )> DIALOG_KICAD_MERGE_3WAY::CONFLICT_CONTEXT::drawSide

Draw a side on the canvas with the editor's own painter.

The geometry above flattens every item to its bounding box, so without this a text change shows as an empty rectangle and all three sides look alike. Left empty, the geometry is used.

The conflict being decided is passed so a document made of several sheets can draw the one the conflict is on.

Definition at line 88 of file dialog_kicad_merge_3way.h.

Referenced by PCBNEW_JOBS_HANDLER::runPcbMerge(), and EESCHEMA_JOBS_HANDLER::runSchMerge().

◆ formatNotice

wxString DIALOG_KICAD_MERGE_3WAY::CONFLICT_CONTEXT::formatNotice

Shown with the instructions when the merge cannot keep a side's file format.

Definition at line 91 of file dialog_kicad_merge_3way.h.

Referenced by PCBNEW_JOBS_HANDLER::runPcbMerge(), and EESCHEMA_JOBS_HANDLER::runSchMerge().

◆ oursBBoxes

std::map<KIID_PATH, BOX2I> DIALOG_KICAD_MERGE_3WAY::CONFLICT_CONTEXT::oursBBoxes

◆ oursGeometry

KICAD_DIFF::DOCUMENT_GEOMETRY DIALOG_KICAD_MERGE_3WAY::CONFLICT_CONTEXT::oursGeometry

◆ theirsBBoxes

std::map<KIID_PATH, BOX2I> DIALOG_KICAD_MERGE_3WAY::CONFLICT_CONTEXT::theirsBBoxes

◆ theirsGeometry

KICAD_DIFF::DOCUMENT_GEOMETRY DIALOG_KICAD_MERGE_3WAY::CONFLICT_CONTEXT::theirsGeometry

The documentation for this struct was generated from the following file: