KiCad PCB EDA Suite
Loading...
Searching...
No Matches
BOARD_COMMIT Class Reference

#include <board_commit.h>

Inheritance diagram for BOARD_COMMIT:
COMMIT

Public Member Functions

 BOARD_COMMIT (EDA_DRAW_FRAME *aFrame)
 
 BOARD_COMMIT (TOOL_BASE *aTool)
 
 BOARD_COMMIT (TOOL_MANAGER *aMgr)
 
 BOARD_COMMIT (TOOL_MANAGER *aMgr, bool aIsBoardEditor, bool aIsFootprintEditor)
 
virtual ~BOARD_COMMIT ()
 
BOARDGetBoard () const
 
virtual void Push (const wxString &aMessage=wxEmptyString, int aCommitFlags=0) override
 Execute the changes.
 
virtual void Revert () override
 Revert the commit by restoring the modified items state.
 
COMMITStage (EDA_ITEM *aItem, CHANGE_TYPE aChangeType, BASE_SCREEN *aScreen=nullptr, RECURSE_MODE aRecurse=RECURSE_MODE::NO_RECURSE) override
 Add a change of the item aItem of type aChangeType to the change list.
 
COMMITStage (std::vector< EDA_ITEM * > &container, CHANGE_TYPE aChangeType, BASE_SCREEN *aScreen=nullptr) override
 
COMMITStage (const PICKED_ITEMS_LIST &aItems, UNDO_REDO aModFlag=UNDO_REDO::UNSPECIFIED, BASE_SCREEN *aScreen=nullptr) override
 
virtual EDA_ITEMResolveItem (KIID &aID) override
 Search for an item in this commit that matches the provided KIID.
 
COMMITAdd (EDA_ITEM *aItem, BASE_SCREEN *aScreen=nullptr)
 Add a new item to the model.
 
COMMITAdded (EDA_ITEM *aItem, BASE_SCREEN *aScreen=nullptr)
 Notify observers that aItem has been added.
 
COMMITRemove (EDA_ITEM *aItem, BASE_SCREEN *aScreen=nullptr)
 Remove a new item from the model.
 
COMMITRemoved (EDA_ITEM *aItem, BASE_SCREEN *aScreen=nullptr)
 
COMMITModify (EDA_ITEM *aItem, BASE_SCREEN *aScreen=nullptr, RECURSE_MODE aRecurse=RECURSE_MODE::NO_RECURSE)
 Modify a given item in the model.
 
COMMITModified (EDA_ITEM *aItem, EDA_ITEM *aCopy, BASE_SCREEN *aScreen=nullptr)
 Create an undo entry for an item that has been already modified.
 
void Unstage (EDA_ITEM *aItem, BASE_SCREEN *aScreen)
 
void Unmodify (EDA_ITEM *aItem, BASE_SCREEN *aScreen)
 
bool Empty () const
 
int GetStatus (EDA_ITEM *aItem, BASE_SCREEN *aScreen=nullptr)
 Returns status of an item.
 
EDA_ITEMGetFirst () const
 

Static Public Member Functions

static EDA_ITEMMakeImage (EDA_ITEM *aItem)
 

Protected Member Functions

void clear ()
 Should be called in Push() & Revert() methods.
 
virtual void makeEntry (EDA_ITEM *aItem, CHANGE_TYPE aType, EDA_ITEM *aCopy=nullptr, BASE_SCREEN *aScreen=nullptr)
 
COMMIT_LINEfindEntry (EDA_ITEM *aItem, BASE_SCREEN *aScreen=nullptr)
 Search for an entry describing change for a particular item.
 
CHANGE_TYPE convert (UNDO_REDO aType) const
 
UNDO_REDO convert (CHANGE_TYPE aType) const
 

Protected Attributes

std::set< std::pair< EDA_ITEM *, BASE_SCREEN * > > m_addedItems
 
std::set< std::pair< EDA_ITEM *, BASE_SCREEN * > > m_changedItems
 
std::set< std::pair< EDA_ITEM *, BASE_SCREEN * > > m_deletedItems
 
std::vector< COMMIT_LINEm_entries
 

Private Member Functions

EDA_ITEMundoLevelItem (EDA_ITEM *aItem) const override
 
EDA_ITEMmakeImage (EDA_ITEM *aItem) const override
 
void propagateDamage (BOARD_ITEM *aItem, std::vector< ZONE * > *aStaleZones, std::vector< BOX2I > &aStaleRuleAreas)
 

Private Attributes

TOOL_MANAGERm_toolMgr
 
bool m_isBoardEditor
 
bool m_isFootprintEditor
 

Detailed Description

Definition at line 44 of file board_commit.h.

Constructor & Destructor Documentation

◆ BOARD_COMMIT() [1/4]

BOARD_COMMIT::BOARD_COMMIT ( EDA_DRAW_FRAME * aFrame)

◆ BOARD_COMMIT() [2/4]

BOARD_COMMIT::BOARD_COMMIT ( TOOL_BASE * aTool)

Definition at line 62 of file board_commit.cpp.

References COMMIT::COMMIT(), m_isBoardEditor, m_isFootprintEditor, and m_toolMgr.

◆ BOARD_COMMIT() [3/4]

◆ BOARD_COMMIT() [4/4]

BOARD_COMMIT::BOARD_COMMIT ( TOOL_MANAGER * aMgr,
bool aIsBoardEditor,
bool aIsFootprintEditor )

Definition at line 100 of file board_commit.cpp.

References COMMIT::COMMIT(), m_isBoardEditor, m_isFootprintEditor, and m_toolMgr.

◆ ~BOARD_COMMIT()

virtual BOARD_COMMIT::~BOARD_COMMIT ( )
inlinevirtual

Definition at line 52 of file board_commit.h.

Member Function Documentation

◆ Add()

COMMIT & COMMIT::Add ( EDA_ITEM * aItem,
BASE_SCREEN * aScreen = nullptr )
inlineinherited

Add a new item to the model.

Definition at line 74 of file commit.h.

References CHT_ADD, COMMIT(), and Stage().

Referenced by PCB_POINT_EDITOR::addCorner(), FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), PCB_VIA_STACK::addMember(), CONSTRAINT_EDIT_TOOL::AddPointConstraint(), PCB_CONTROL::AppendBoard(), MULTICHANNEL_TOOL::AutogenerateRuleAreas(), bindDimensionEndpoints(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), CONSTRAINT_EDIT_TOOL::commitConstraint(), EE_GRAPHIC_TOOL::commitItem(), RULE_AREA_CREATE_HELPER::commitRuleArea(), ZONE_CREATE_HELPER::commitZone(), MULTICHANNEL_TOOL::copyRuleAreaContents(), MICROWAVE_TOOL::createInductorBetween(), CONVERT_TOOL::CreateLines(), CONVERT_TOOL::CreatePolys(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawBezier(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::DrawEllipseArc(), DRAWING_TOOL::DrawLine(), DRAWING_TOOL::DrawRectangle(), DRAWING_TOOL::drawShape(), SCH_DRAWING_TOOLS::DrawSheet(), DRAWING_TOOL::DrawTable(), SCH_DRAWING_TOOLS::DrawTable(), DRAWING_TOOL::DrawVia(), EDIT_TOOL::Duplicate(), PCB_TUNING_PATTERN::EditFinish(), PCB_TUNING_PATTERN::EditStart(), PCB_VIA_STACK::EditStart(), PCB_VIA_STITCH::EditStart(), BOARD::ExchangeFootprint(), PCB_VIA_STACK::ExpandMultiHopMicrovias(), PAD_TOOL::explodePad(), EDIT_TOOL::FilletTracks(), DSN::SPECCTRA_DB::FromSESSION(), API_HANDLER_BOARD::handleCreateUpdateItemsInternal(), API_HANDLER_SCH::handleCreateUpdateItemsInternal(), API_HANDLER_PCB::handleInjectDrcError(), API_HANDLER_PCB::handlePlaceFootprintFromLibrary(), API_HANDLER_SCH::handlePlaceSymbolFromLibrary(), EE_GRAPHIC_TOOL::ImportGraphics(), SCH_DRAWING_TOOLS::ImportSheet(), PCBNEW_JOBS_HANDLER::JobExportDrc(), SCH_SELECTION_TOOL::Main(), GENERATOR_TOOL::MakeViaStackFromSelection(), EDIT_TOOL::ModifyLines(), ARRAY_TOOL::onDialogClosed(), CONVERT_TOOL::OutsetItems(), ZONE_CREATE_HELPER::performZoneCutout(), PCB_CONTROL::placeBoardItems(), PCB_CONTROL::PlaceDrillMap(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceGridItem(), SCH_DRAWING_TOOLS::PlaceImage(), DRAWING_TOOL::PlaceImportedGraphics(), INTERACTIVE_PLACER_BASE::PlaceItem(), PAD_TOOL::PlacePad(), DRAWING_TOOL::PlaceText(), BACK_ANNOTATE::processNetNameChange(), PCB_TUNING_PATTERN::Remove(), MULTICHANNEL_TOOL::RepeatLayout(), PCB_EDIT_FRAME::ResolveDRCExclusions(), GRAPHIC_EDIT_TOOL::runInteractive(), DRAWING_TOOL::runSimpleShapeDraw(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), PCB_EDIT_FRAME::SaveSelectionAsDesignBlock(), SCH_EDIT_FRAME::SaveSelectionAsDesignBlock(), CONVERT_TOOL::SegmentToArc(), stageAutoConstraints(), DIALOG_FP_EDIT_PAD_TABLE::TransferDataFromWindow(), PCB_VIA_STITCH::Update(), PCB_EDIT_FRAME::UpdateDesignBlockFromSelection(), SCH_EDIT_FRAME::UpdateDesignBlockFromSelection(), PCB_PROPERTIES_PANEL::valueChanged(), and BOARD_EDITOR_CONTROL::ZoneDuplicate().

◆ Added()

◆ clear()

void COMMIT::clear ( )
inlineprotectedinherited

◆ convert() [1/2]

UNDO_REDO COMMIT::convert ( CHANGE_TYPE aType) const
protectedinherited

Definition at line 288 of file commit.cpp.

References CHANGED, CHT_ADD, CHT_MODIFY, CHT_REMOVE, DELETED, and NEWITEM.

◆ convert() [2/2]

CHANGE_TYPE COMMIT::convert ( UNDO_REDO aType) const
protectedinherited

Definition at line 276 of file commit.cpp.

References CHANGED, CHT_ADD, CHT_MODIFY, CHT_REMOVE, DELETED, and NEWITEM.

◆ Empty()

bool COMMIT::Empty ( ) const
inlineinherited

Definition at line 142 of file commit.h.

References m_entries.

Referenced by SCH_EDIT_TOOL::AutoplaceFields(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), SCH_EDIT_TOOL::ChangeTextType(), SCH_EDIT_FRAME::CopyVariant(), SCH_EDIT_TOOL::CycleBodyStyle(), DIALOG_CLEANUP_GRAPHICS::doCleanup(), DIALOG_CLEANUP_TRACKS_AND_VIAS::doCleanup(), SCH_EDIT_TOOL::editFieldText(), EDIT_TOOL::Flip(), SCH_EDITOR_CONTROL::IncrementAnnotations(), EDIT_TOOL::JustifyText(), SCH_EDIT_TOOL::JustifyText(), SCH_POINT_EDITOR::Main(), SCH_SELECTION_TOOL::Main(), EDIT_TOOL::Mirror(), SCH_EDIT_TOOL::Mirror(), BOARD_EDITOR_CONTROL::modifyLockSelected(), SCH_EDIT_TOOL::modifyLockSelected(), DIALOG_SYMBOL_FIELDS_TABLE::onDeleteVariant(), HIERARCHY_PANE::onTreeEditFinished(), DIALOG_FOOTPRINT_FIELDS_TABLE::onVariantSelectionChange(), DIALOG_SYMBOL_FIELDS_TABLE::onVariantSelectionChange(), BOARD_COMMIT::Push(), SCH_COMMIT::Push(), SCH_COMMIT::pushSchEdit(), SCHEMATIC::RecalculateConnections(), SCH_EDIT_FRAME::RemoveVariant(), SCH_EDIT_FRAME::RenameVariant(), SCH_FIND_REPLACE_TOOL::ReplaceAll(), DIALOG_DIMENSION_PROPERTIES::resolveDrivingConstraint(), SCH_COMMIT::revertLibEdit(), EDIT_TOOL::Rotate(), SCH_EDIT_TOOL::Rotate(), SYMBOL_EDITOR_EDIT_TOOL::Rotate(), SCH_EDIT_FRAME::SaveSymbolToSchematic(), SCH_EDIT_FRAME::SelectUnit(), SCH_EDIT_TOOL::SetAttribute(), snapAutoConstraints(), CONSTRAINT_EDIT_TOOL::solveAddedConstraint(), CONSTRAINT_EDIT_TOOL::SolveAfterEdit(), CONSTRAINT_EDIT_TOOL::SolveAfterMove(), EDIT_TOOL::Swap(), SCH_EDIT_TOOL::Swap(), EDIT_TOOL::SwapGateNets(), EDIT_TOOL::SwapPadNets(), SCH_EDIT_TOOL::SwapPins(), SCH_EDIT_TOOL::SwapUnitLabels(), EDIT_TOOL::ToggleFootprintAttribute(), DIALOG_FOOTPRINT_FIELDS_TABLE::TransferDataFromWindow(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::TransferDataFromWindow(), DIALOG_IMAGE_PROPERTIES::TransferDataFromWindow(), DIALOG_LABEL_PROPERTIES::TransferDataFromWindow(), DIALOG_SHAPE_PROPERTIES::TransferDataFromWindow(), DIALOG_SHEET_PIN_PROPERTIES::TransferDataFromWindow(), DIALOG_SYMBOL_FIELDS_TABLE::TransferDataFromWindow(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), DIALOG_TABLE_PROPERTIES::TransferDataFromWindow(), DIALOG_TABLECELL_PROPERTIES::TransferDataFromWindow(), DIALOG_TEXT_PROPERTIES::TransferDataFromWindow(), and PCB_PROPERTIES_PANEL::valueChanged().

◆ findEntry()

COMMIT::COMMIT_LINE * COMMIT::findEntry ( EDA_ITEM * aItem,
BASE_SCREEN * aScreen = nullptr )
protectedinherited

Search for an entry describing change for a particular item.

Returns
null if there is no related entry.

Definition at line 264 of file commit.cpp.

References m_entries.

Referenced by GetStatus(), and SCH_COMMIT::RemovedForCleanup().

◆ GetBoard()

BOARD * BOARD_COMMIT::GetBoard ( ) const

Definition at line 109 of file board_commit.cpp.

References m_toolMgr.

Referenced by BOOST_AUTO_TEST_CASE(), Push(), and Revert().

◆ GetFirst()

EDA_ITEM * COMMIT::GetFirst ( ) const
inlineinherited

Definition at line 150 of file commit.h.

References m_entries.

◆ GetStatus()

◆ makeEntry()

void COMMIT::makeEntry ( EDA_ITEM * aItem,
CHANGE_TYPE aType,
EDA_ITEM * aCopy = nullptr,
BASE_SCREEN * aScreen = nullptr )
protectedvirtualinherited

◆ MakeImage()

EDA_ITEM * BOARD_COMMIT::MakeImage ( EDA_ITEM * aItem)
static

◆ makeImage()

EDA_ITEM * BOARD_COMMIT::makeImage ( EDA_ITEM * aItem) const
overrideprivatevirtual

Implements COMMIT.

Definition at line 817 of file board_commit.cpp.

References MakeImage().

Referenced by Stage().

◆ Modified()

COMMIT & COMMIT::Modified ( EDA_ITEM * aItem,
EDA_ITEM * aCopy,
BASE_SCREEN * aScreen = nullptr )
inherited

Create an undo entry for an item that has been already modified.

Note
Requires a copy done before the modification.

Definition at line 221 of file commit.cpp.

References CHT_MODIFY, COMMIT(), makeEntry(), and undoLevelItem().

Referenced by FOOTPRINT_FIELDS_EDITOR_GRID_DATA_MODEL::ApplyData(), SYMBOL_FIELDS_EDITOR_GRID_DATA_MODEL::ApplyData(), BOOST_AUTO_TEST_CASE(), DIALOG_CHANGE_SYMBOLS::processSymbols(), and Stage().

◆ Modify()

COMMIT & COMMIT::Modify ( EDA_ITEM * aItem,
BASE_SCREEN * aScreen = nullptr,
RECURSE_MODE aRecurse = RECURSE_MODE::NO_RECURSE )
inlineinherited

Modify a given item in the model.

Note
Must be called before modification is performed.

Definition at line 102 of file commit.h.

References CHT_MODIFY, COMMIT(), NO_RECURSE, and Stage().

Referenced by PCB_PROPERTIES_PANEL::addBlankCustomProperty(), SCH_PROPERTIES_PANEL::addBlankCustomProperty(), PCB_PROPERTIES_PANEL::addBlankField(), SCH_PROPERTIES_PANEL::addBlankField(), PCB_POINT_EDITOR::addCorner(), SCH_POINT_EDITOR::addCorner(), SYMBOL_EDITOR_MOVE_TOOL::AlignElements(), SCH_MOVE_TOOL::AlignToGrid(), SCH_EDIT_FRAME::AnnotateSymbols(), PCB_CONTROL::AppendBoard(), BACK_ANNOTATE::applyChangelist(), BACK_ANNOTATE::applyPinSwaps(), DIALOG_RESOLVE_FIELD_CASE_CONFLICTS::applyResolutions(), MATCH_PROPERTIES_TOOL::applyToTargets(), SCH_EDITOR_CONTROL::AssignFootprints(), MULTICHANNEL_TOOL::AutogenerateRuleAreas(), DIALOG_MIGRATE_3D_MODELS::AutoMigrateByFilename(), SCH_DRAWING_TOOLS::AutoPlaceAllSheetPins(), SCH_EDIT_TOOL::AutoplaceFields(), AR_AUTOPLACER::AutoplaceFootprints(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), SCH_LINE_WIRE_BUS_TOOL::BreakSegment(), PCB_POINT_EDITOR::chamferCorner(), EDIT_TOOL::ChangeTrackLayer(), EDIT_TOOL::ChangeTrackWidth(), SCH_EDIT_TOOL::CleanupSheetPins(), VIA_STITCH_TOOL::ClearStitchViaExclusions(), SCH_EDIT_TOOL::ClearVariantSymbol(), PCB_CONTROL::CollectAndEmbed3DModels(), EE_GRAPHIC_TOOL::commitItem(), SYMBOL_EDITOR_EDIT_TOOL::ConvertStackedPins(), MULTICHANNEL_TOOL::copyRuleAreaContents(), SCH_SCREEN::CopyVariant(), SCH_EDIT_TOOL::CycleBodyStyle(), SCH_EDIT_FRAME::DeleteAnnotation(), EDIT_TOOL::DeleteItems(), SCH_SCREEN::DeleteVariant(), SCH_EDIT_TOOL::DoDelete(), SYMBOL_EDITOR_EDIT_TOOL::DoDelete(), EDIT_TOOL::doMoveSelection(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), doPushPadProperties(), SCH_DRAWING_TOOLS::doSyncSheetsPins(), RECTANGLE_POINT_EDIT_BEHAVIOR::dragPinsOnEdge(), SCH_DRAWING_TOOLS::DrawSheet(), DRAWING_TOOL::DrawVia(), BOARD_ITEM::Duplicate(), PCB_TABLE::Duplicate(), SCH_ITEM::Duplicate(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), PCB_EDIT_FRAME::Edit_Zone_Params(), EditConstraintValue(), SYMBOL_EDITOR_EDIT_TOOL::editFieldProperties(), SCH_EDIT_TOOL::editFieldText(), PAD_TOOL::EditPad(), SCH_EDIT_TOOL::EditPageNumber(), SYMBOL_EDITOR_PIN_TOOL::EditPinProperties(), SCH_EDIT_TOOL::EditProperties(), PCB_TUNING_PATTERN::EditStart(), PCB_VIA_STACK::EditStart(), PCB_VIA_STITCH::EditStart(), PAD_TOOL::EnumeratePads(), BOARD::ExchangeFootprint(), VIA_STITCH_TOOL::ExcludeStitchVia(), SYMBOL_EDITOR_EDIT_TOOL::ExplodeStackedPin(), SCH_EDITOR_CONTROL::ExportSymbolsToLibrary(), EDIT_TOOL::FilletTracks(), EDIT_TOOL::Flip(), DSN::SPECCTRA_DB::FromSESSION(), GENERATOR_TOOL::GENERATOR_TOOL(), SCH_MOVE_TOOL::getConnectedDragItems(), API_HANDLER_BOARD::handleCreateUpdateItemsInternal(), API_HANDLER_SCH::handleCreateUpdateItemsInternal(), API_HANDLER_BOARD::handleFlipItems(), SCH_PROPERTIES_PANEL::handleSheetFilenameChange(), EE_GRAPHIC_TOOL::ImportGraphics(), EDIT_TOOL::Increment(), SCH_TOOL_BASE< T >::Increment(), SCH_EDITOR_CONTROL::IncrementAnnotations(), SCH_MOVE_TOOL::initializeMoveOperation(), EDIT_TOOL::JustifyText(), SCH_EDIT_TOOL::JustifyText(), SCH_POINT_EDITOR::Main(), GENERATOR_TOOL::MakeViaStackFromSelection(), mergeZones(), SCH_MOVE_TOOL::migrateHiddenJunctions(), EDIT_TOOL::Mirror(), SCH_EDIT_TOOL::Mirror(), EDIT_TOOL::ModifyLines(), BOARD_EDITOR_CONTROL::modifyLockSelected(), SCH_EDIT_TOOL::modifyLockSelected(), EDIT_TOOL::MoveExact(), SCH_ALIGN_TOOL::moveItem(), moveSelectionBy(), ARRAY_TOOL::onDialogClosed(), FOOTPRINT_EDIT_FRAME::OnEditItemRequest(), PCB_VERTEX_EDITOR_PANE::OnGridCellChange(), PCB_PROPERTIES_PANEL::onKeyRenamed(), SCH_PROPERTIES_PANEL::onKeyRenamed(), DIALOG_UPDATE_SYMBOL_FIELDS::onOkButtonClicked(), DIALOG_MIGRATE_3D_MODELS::OnReplaceClick(), HIERARCHY_PANE::onRightClick(), HIERARCHY_PANE::onTreeEditFinished(), SCH_MOVE_TOOL::orthoLineDrag(), EDIT_TOOL::PackAndMoveFootprints(), SYMBOL_EDITOR_EDIT_TOOL::Paste(), PAD_TOOL::pastePadProperties(), SYMBOL_EDITOR_EDIT_TOOL::PinTable(), PCB_CONTROL::placeBoardItems(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::processItem(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::processItem(), BACK_ANNOTATE::processNetNameChange(), CN_CONNECTIVITY_ALGO::propagateConnections(), MULTICHANNEL_TOOL::pruneExistingGroups(), BOARD_COMMIT::Push(), SCH_COMMIT::pushSchEdit(), DIALOG_BOARD_REANNOTATE::ReannotateBoard(), PCB_POINT_EDITOR::removeCorner(), SCH_POINT_EDITOR::removeCorner(), PCB_PROPERTIES_PANEL::removeCustomProperty(), SCH_PROPERTIES_PANEL::removeCustomProperty(), PCB_PROPERTIES_PANEL::removeField(), SCH_PROPERTIES_PANEL::removeField(), SCH_EDITOR_CONTROL::RemoveFromNetChain(), HIERARCHY_PANE::renameIdenticalSheets(), SCH_SCREEN::RenameVariant(), MULTICHANNEL_TOOL::RepeatLayout(), MULTICHANNEL_TOOL::RepeatLayout(), SYMBOL_EDITOR_PIN_TOOL::RepeatPin(), SCH_FIND_REPLACE_TOOL::ReplaceAll(), SCH_FIND_REPLACE_TOOL::ReplaceAndFindNext(), PCB_VIA_STACK::reuseMembers(), EDIT_TOOL::Rotate(), SCH_EDIT_TOOL::Rotate(), SYMBOL_EDITOR_EDIT_TOOL::Rotate(), GRAPHIC_EDIT_TOOL::runInteractive(), PCB_EDIT_FRAME::SaveSelectionAsDesignBlock(), SCH_EDIT_FRAME::SaveSelectionAsDesignBlock(), SCH_EDIT_FRAME::SaveSymbolToSchematic(), SCHEMATIC::SCHEMATIC(), SCH_EDIT_FRAME::SelectBodyStyle(), SCH_EDIT_FRAME::SelectUnit(), SCH_EDIT_FRAME::SetAltPinFunction(), DRAWING_TOOL::SetAnchor(), SCH_EDIT_TOOL::SetAttribute(), SCH_EDIT_TOOL::SetVariantSymbol(), PCB_TUNING_PATTERN::ShowPropertiesDialog(), PCB_VIA_STACK::ShowPropertiesDialog(), PCB_VIA_STITCH::ShowPropertiesDialog(), snapAutoConstraints(), CONSTRAINT_EDIT_TOOL::solveAddedConstraint(), CONSTRAINT_EDIT_TOOL::SolveAfterEdit(), CONSTRAINT_EDIT_TOOL::SolveAfterMove(), Stage(), EDIT_TOOL::Swap(), SCH_EDIT_TOOL::Swap(), EDIT_TOOL::SwapGateNets(), EDIT_TOOL::SwapPadNets(), SCH_EDIT_TOOL::SwapPinLabels(), SCH_EDIT_TOOL::SwapPins(), SCH_EDIT_TOOL::SwapUnitLabels(), SCHEMATIC::SyncLibSymbolPinMaps(), SCH_SYMBOL::SyncOtherUnits(), EDIT_TOOL::ToggleFootprintAttribute(), BOARD_EDITOR_CONTROL::TrackWidthDec(), BOARD_EDITOR_CONTROL::TrackWidthInc(), DIALOG_BARCODE_PROPERTIES::TransferDataFromWindow(), DIALOG_DIMENSION_PROPERTIES::TransferDataFromWindow(), DIALOG_DRILL_CHART_PROPERTIES::TransferDataFromWindow(), DIALOG_EDIT_SYMBOLS_LIBID::TransferDataFromWindow(), DIALOG_FP_EDIT_PAD_TABLE::TransferDataFromWindow(), DIALOG_GRID_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_IMAGE_PROPERTIES::TransferDataFromWindow(), DIALOG_JUNCTION_PROPS::TransferDataFromWindow(), DIALOG_LABEL_PROPERTIES::TransferDataFromWindow(), DIALOG_LINE_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), DIALOG_SHAPE_PROPERTIES::TransferDataFromWindow(), DIALOG_SHEET_PIN_PROPERTIES::TransferDataFromWindow(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), DIALOG_TABLE_PROPERTIES::TransferDataFromWindow(), DIALOG_TABLECELL_PROPERTIES::TransferDataFromWindow(), DIALOG_TARGET_PROPERTIES::TransferDataFromWindow(), DIALOG_TEXT_PROPERTIES::TransferDataFromWindow(), DIALOG_TEXTBOX_PROPERTIES::TransferDataFromWindow(), DIALOG_TRACK_VIA_PROPERTIES::TransferDataFromWindow(), DIALOG_WIRE_BUS_PROPERTIES::TransferDataFromWindow(), SCH_DRAWING_TOOLS::TwoClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), PCB_VIA_STITCH::Update(), PCB_EDIT_FRAME::UpdateDesignBlockFromSelection(), SCH_EDIT_FRAME::UpdateDesignBlockFromSelection(), DIALOG_FIELD_PROPERTIES::UpdateField(), LINE_POINT_EDIT_BEHAVIOR::UpdateItem(), PCB_TABLECELL_POINT_EDIT_BEHAVIOR::UpdateItem(), SCH_TABLECELL_POINT_EDIT_BEHAVIOR::UpdateItem(), SHAPE_GROUP_POINT_EDIT_BEHAVIOR::UpdateItem(), SHEET_POINT_EDIT_BEHAVIOR::UpdateItem(), PCB_POINT_EDITOR::updateItem(), PCB_PROPERTIES_PANEL::valueChanged(), SCH_PROPERTIES_PANEL::valueChanged(), BOARD_EDITOR_CONTROL::ViaSizeDec(), BOARD_EDITOR_CONTROL::ViaSizeInc(), BOARD_EDITOR_CONTROL::ZonePriorityLower(), BOARD_EDITOR_CONTROL::ZonePriorityMoveToBottom(), BOARD_EDITOR_CONTROL::ZonePriorityMoveToTop(), BOARD_EDITOR_CONTROL::ZonePriorityRaise(), GLOBAL_EDIT_TOOL::ZonesManager(), ZONE_FILLER_TOOL::ZoneUnfill(), and ZONE_FILLER_TOOL::ZoneUnfillAll().

◆ propagateDamage()

void BOARD_COMMIT::propagateDamage ( BOARD_ITEM * aItem,
std::vector< ZONE * > * aStaleZones,
std::vector< BOX2I > & aStaleRuleAreas )
private

◆ Push()

void BOARD_COMMIT::Push ( const wxString & aMessage = wxEmptyString,
int aFlags = 0 )
overridevirtual

Execute the changes.

Implements COMMIT.

Definition at line 196 of file board_commit.cpp.

References BOARD::Add(), KIGFX::PCB_VIEW::Add(), LSET::AllCuMask(), APPEND_UNDO, PCB_BASE_FRAME::AppendCopyToUndoList(), AS_GLOBAL, EDA_GROUP::AsEdaItem(), B_Mask, BOARD::BoardOutline(), BULK, BULK_INSERT, CHANGED, CHT_ADD, CHT_DONE, CHT_FLAGS, CHT_MODIFY, CHT_REMOVE, CHT_TYPE, COMMIT::clear(), EDA_ITEM::ClearEditFlags(), convert, copy, DELETED, ZONE_FILLER_TOOL::DirtyZone(), Edge_Cuts, COMMIT::Empty(), F_Mask, KIGFX::GEOMETRY, GetAppSettings(), GetBoard(), PCB_BASE_FRAME::GetCanvas(), KIGFX::VIEW_ITEM::GetClass(), BOARD::GetComponentClassManager(), BOARD::GetConnectivity(), PCB_SELECTION_TOOL::GetEnteredGroup(), BOARD::GetFirstFootprint(), EDA_ITEM::GetFlags(), SELECTION::GetItems(), BOARD::GetMsgPanelInfo(), EDA_ITEM::GetParent(), BOARD_ITEM::GetParentFootprint(), EDA_ITEM::GetParentGroup(), PCB_BASE_FRAME::GetPcbNewSettings(), PCB_SELECTION_TOOL::GetSelection(), KIGFX::VIEW::HasItem(), PCB_BASE_FRAME::HideSolderMask(), COMPONENT_CLASS_MANAGER::InvalidateComponentClasses(), KIGFX::VIEW_ITEM::IsBOARD_ITEM(), BOARD_ITEM::IsGroupableType(), isNoGeometryItem(), BOARD_ITEM::IsOnLayer(), EDA_ITEM::IsSelected(), KIGFX::LAYERS, PCBNEW_SETTINGS::m_AutoRefillZones, COMMIT::COMMIT_LINE::m_copy, PCBNEW_SETTINGS::m_Display, COMMIT::m_entries, m_isBoardEditor, m_isFootprintEditor, COMMIT::COMMIT_LINE::m_item, PCBNEW_SETTINGS::DISPLAY_OPTIONS::m_Live3DRefresh, m_toolMgr, COMMIT::COMMIT_LINE::m_type, COMMIT::Modify(), NEWITEM, BOARD::OnItemsCompositeUpdate(), PCB_BASE_FRAME::OnModify(), BOARD::OnRatsnestChanged(), pad, PCB_ARC_T, PCB_BARCODE_T, PCB_CONSTRAINT_T, PCB_DIM_ALIGNED_T, PCB_DIM_CENTER_T, PCB_DIM_LEADER_T, PCB_DIM_ORTHOGONAL_T, PCB_DIM_RADIAL_T, PCB_DRILL_CHART_T, PCB_DRILL_MAP_T, PCB_FIELD_T, PCB_FOOTPRINT_T, PCB_GENERATOR_T, PCB_GRID_ITEM_T, PCB_GROUP_T, PCB_MARKER_T, PCB_NETINFO_T, PCB_PAD_T, PCB_POINT_T, PCB_REFERENCE_IMAGE_T, PCB_SHAPE_T, PCB_TABLE_T, PCB_TARGET_T, PCB_TEXT_T, PCB_TEXTBOX_T, PCB_TRACE_T, PCB_VIA_T, PCB_ZONE_T, propagateDamage(), PICKED_ITEMS_LIST::PushItem(), COMPONENT_CLASS_MANAGER::RebuildRequiredCaches(), PCB_SELECTION_TOOL::RebuildSelection(), RECURSE, PCB_DRAW_PANEL_GAL::RedrawRatsnest(), RefreshDrillMapOutlines(), PCB_BASE_FRAME::RefreshDrillSymbols(), PCB_ACTIONS::rehatchShapes, BOARD::Remove(), KIGFX::PCB_VIEW::Remove(), EDA_GROUP::RemoveItem(), SELECTION_TOOL::RemoveItemFromSel(), TEARDROP_MANAGER::RemoveTeardrops(), KIGFX::REPAINT, BOARD_ITEM::RunOnChildren(), PCB_BASE_FRAME::SaveCopyInUndoList(), EVENTS::SelectedItemsModified, PICKED_ITEMS_LIST::SetDescription(), EDA_ITEM::SetFlags(), ITEM_PICKER::SetLink(), EDA_DRAW_FRAME::SetMsgPanel(), SHOW_WITH_VIA_ALWAYS, SKIP_CONNECTIVITY, SKIP_ENTERED_GROUP, SKIP_SET_DIRTY, SKIP_TEARDROPS, SKIP_UNDO, STRUCT_DELETED, TA_MODEL_CHANGE, TC_MESSAGE, EDA_ITEM::Type(), UNIMPLEMENTED_FOR, EVENTS::UnselectedEvent, UNSPECIFIED, KIGFX::PCB_VIEW::Update(), PCB_BASE_FRAME::Update3DView(), BOARD::UpdateBoardOutline(), KIGFX::PCB_VIEW::UpdateCollidingItems(), BOARD::UpdateRatsnestExclusions(), TEARDROP_MANAGER::UpdateTeardrops(), UR_TRANSIENT, via, ZONE_FILL_OP, PCB_ACTIONS::zoneFillDirty, and BOARD::Zones().

Referenced by PCB_PROPERTIES_PANEL::addBlankCustomProperty(), PCB_PROPERTIES_PANEL::addBlankField(), PCB_POINT_EDITOR::addCorner(), FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), ALIGN_DISTRIBUTE_TOOL::AlignBottom(), ALIGN_DISTRIBUTE_TOOL::AlignCenterX(), ALIGN_DISTRIBUTE_TOOL::AlignCenterY(), ALIGN_DISTRIBUTE_TOOL::AlignTop(), PCB_CONTROL::AppendBoard(), MATCH_PROPERTIES_TOOL::applyToTargets(), MULTICHANNEL_TOOL::AutogenerateRuleAreas(), DIALOG_MIGRATE_3D_MODELS::AutoMigrateByFilename(), AUTOPLACE_TOOL::autoplace(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), PCB_POINT_EDITOR::chamferCorner(), EDIT_TOOL::ChangeTrackLayer(), EDIT_TOOL::ChangeTrackWidth(), ZONE_FILLER_TOOL::CheckAllZones(), VIA_STITCH_TOOL::ClearStitchViaExclusions(), PCB_CONTROL::CollectAndEmbed3DModels(), ZONE_CREATE_HELPER::commitZone(), MICROWAVE_TOOL::createInductorBetween(), CONVERT_TOOL::CreateLines(), CONVERT_TOOL::CreatePolys(), EDIT_TOOL::DeleteItems(), ALIGN_DISTRIBUTE_TOOL::DistributeItems(), ALIGN_DISTRIBUTE_TOOL::doAlignLeft(), ALIGN_DISTRIBUTE_TOOL::doAlignRight(), DIALOG_CLEANUP_GRAPHICS::doCleanup(), DIALOG_CLEANUP_TRACKS_AND_VIAS::doCleanup(), DIALOG_GLOBAL_DELETION::DoGlobalDeletions(), PCB_TOOL_BASE::doInteractiveItemPlacement(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::DrawBarcode(), DRAWING_TOOL::DrawBezier(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::DrawEllipseArc(), DRAWING_TOOL::DrawLine(), DRAWING_TOOL::DrawRectangle(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawTable(), EDIT_TOOL::Duplicate(), PCB_EDIT_FRAME::Edit_Zone_Params(), EditConstraintValue(), PAD_TOOL::EditPad(), PAD_TOOL::EnumeratePads(), VIA_STITCH_TOOL::ExcludeStitchVia(), ZONE_FILLER_TOOL::FillAllZones(), EDIT_TOOL::FilletTracks(), KI_TEST::FillZones(), CONSTRAINT_EDIT_TOOL::finishConstraintCommit(), ROUTER_TOOL::finishInteractive(), EDIT_TOOL::Flip(), PCB_EDIT_FRAME::ImportSpecctraSession(), EDIT_TOOL::Increment(), POSITION_RELATIVE_TOOL::InteractiveOffset(), PCBNEW_JOBS_HANDLER::JobExportDrc(), EDIT_TOOL::JustifyText(), GENERATOR_TOOL::MakeViaStackFromSelection(), EDIT_TOOL::Mirror(), BOARD_EDITOR_CONTROL::modifyLockSelected(), EDIT_TOOL::Move(), EDIT_TOOL::MoveExact(), PCB_POINT_EDITOR::movePoint(), ARRAY_TOOL::onDialogClosed(), FOOTPRINT_EDIT_FRAME::OnEditItemRequest(), PCB_VERTEX_EDITOR_PANE::OnGridCellChange(), PCB_PROPERTIES_PANEL::onKeyRenamed(), DIALOG_MIGRATE_3D_MODELS::OnReplaceClick(), PCB_POINT_EDITOR::OnSelectionChange(), DIALOG_FOOTPRINT_FIELDS_TABLE::onVariantSelectionChange(), CONVERT_TOOL::OutsetItems(), EDIT_TOOL::PackAndMoveFootprints(), PCB_CONTROL::Paste(), PAD_TOOL::pastePadProperties(), ZONE_CREATE_HELPER::performZoneCutout(), PCB_CONTROL::PlaceCharacteristics(), PCB_CONTROL::PlaceDrillChart(), PCB_CONTROL::PlaceDrillMap(), BOARD_EDITOR_CONTROL::PlaceFootprint(), DRAWING_TOOL::PlaceGridItem(), DRAWING_TOOL::PlaceImportedGraphics(), DRAWING_TOOL::PlaceMicroviaStack(), PCB_CONTROL::PlaceStackup(), DRAWING_TOOL::PlaceText(), DRAWING_TOOL::PlaceTuningPattern(), PAD_TOOL::pushPadSettings(), DIALOG_BOARD_REANNOTATE::ReannotateBoard(), ZONE_FILLER_TOOL::refillAroundGenerators(), STITCH_FIXTURE_BASE::regenerate(), GENERATOR_TOOL::RegenerateItem(), GENERATOR_TOOL::RegenerateSelected(), CONSTRAINT_EDIT_TOOL::removeConstraint(), CONSTRAINT_EDIT_TOOL::RemoveConstraints(), PCB_POINT_EDITOR::removeCorner(), PCB_PROPERTIES_PANEL::removeCustomProperty(), PCB_PROPERTIES_PANEL::removeField(), MULTICHANNEL_TOOL::RepeatLayout(), MULTICHANNEL_TOOL::RepeatLayout(), PCB_EDIT_FRAME::ResolveDRCExclusions(), DIALOG_DIMENSION_PROPERTIES::resolveDrivingConstraint(), EDIT_TOOL::Rotate(), GRAPHIC_EDIT_TOOL::runInteractive(), DRAWING_TOOL::runSimpleShapeDraw(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), PCB_EDIT_FRAME::SaveSelectionAsDesignBlock(), CONVERT_TOOL::SegmentToArc(), DRAWING_TOOL::SetAnchor(), PCB_TUNING_PATTERN::ShowPropertiesDialog(), PCB_VIA_STACK::ShowPropertiesDialog(), PCB_VIA_STITCH::ShowPropertiesDialog(), EDIT_TOOL::SimplifyPolygons(), snapAutoConstraints(), CONSTRAINT_EDIT_TOOL::solveAddedConstraint(), CONSTRAINT_EDIT_TOOL::SolveAfterEdit(), CONSTRAINT_EDIT_TOOL::SolveAfterMove(), EDIT_TOOL::Swap(), EDIT_TOOL::SwapGateNets(), EDIT_TOOL::SwapPadNets(), EDIT_TOOL::ToggleFootprintAttribute(), BOARD_EDITOR_CONTROL::TrackWidthDec(), BOARD_EDITOR_CONTROL::TrackWidthInc(), DIALOG_BARCODE_PROPERTIES::TransferDataFromWindow(), DIALOG_DIMENSION_PROPERTIES::TransferDataFromWindow(), DIALOG_DRILL_CHART_PROPERTIES::TransferDataFromWindow(), DIALOG_FOOTPRINT_FIELDS_TABLE::TransferDataFromWindow(), DIALOG_FP_EDIT_PAD_TABLE::TransferDataFromWindow(), DIALOG_GLOBAL_EDIT_TEARDROPS::TransferDataFromWindow(), DIALOG_GRID_ITEM_PROPERTIES::TransferDataFromWindow(), DIALOG_PAD_PROPERTIES::TransferDataFromWindow(), DIALOG_TARGET_PROPERTIES::TransferDataFromWindow(), DIALOG_TEXTBOX_PROPERTIES::TransferDataFromWindow(), DIALOG_TRACK_VIA_PROPERTIES::TransferDataFromWindow(), PCB_SELECTION_TOOL::unrouteSegment(), PCB_SELECTION_TOOL::unrouteSelected(), PCB_EDIT_FRAME::UpdateDesignBlockFromSelection(), PCB_PROPERTIES_PANEL::valueChanged(), BOARD_EDITOR_CONTROL::ViaSizeDec(), BOARD_EDITOR_CONTROL::ViaSizeInc(), BOARD_EDITOR_CONTROL::ZoneDuplicate(), ZONE_FILLER_TOOL::ZoneFill(), ZONE_FILLER_TOOL::ZoneFillDirty(), BOARD_EDITOR_CONTROL::ZoneMerge(), BOARD_EDITOR_CONTROL::ZonePriorityLower(), BOARD_EDITOR_CONTROL::ZonePriorityMoveToBottom(), BOARD_EDITOR_CONTROL::ZonePriorityMoveToTop(), BOARD_EDITOR_CONTROL::ZonePriorityRaise(), GLOBAL_EDIT_TOOL::ZonesManager(), ZONE_FILLER_TOOL::ZoneUnfill(), and ZONE_FILLER_TOOL::ZoneUnfillAll().

◆ Remove()

COMMIT & COMMIT::Remove ( EDA_ITEM * aItem,
BASE_SCREEN * aScreen = nullptr )
inlineinherited

Remove a new item from the model.

Notify observers that aItem has been removed

Definition at line 86 of file commit.h.

References CHT_REMOVE, COMMIT(), and Stage().

Referenced by MULTICHANNEL_TOOL::AutogenerateRuleAreas(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), PCB_POINT_EDITOR::chamferCorner(), MULTICHANNEL_TOOL::copyRuleAreaContents(), CONVERT_TOOL::CreateLines(), CONVERT_TOOL::CreatePolys(), EDIT_TOOL::DeleteItems(), API_HANDLER_BOARD::deleteItemsInternal(), API_HANDLER_SCH::deleteItemsInternal(), SCH_EDIT_TOOL::DoDelete(), DIALOG_GLOBAL_DELETION::DoGlobalDeletions(), PCB_TUNING_PATTERN::EditFinish(), PCB_VIA_STITCH::EditFinish(), PAD_TOOL::EditPad(), BOARD::ExchangeFootprint(), PCB_VIA_STACK::ExpandMultiHopMicrovias(), SCH_EDIT_TOOL::FixERCError(), DSN::SPECCTRA_DB::FromSESSION(), API_HANDLER_BOARD::handleCreateUpdateItemsInternal(), mergeZones(), EDIT_TOOL::ModifyLines(), CONVERT_TOOL::OutsetItems(), ZONE_CREATE_HELPER::performZoneCutout(), MULTICHANNEL_TOOL::pruneExistingGroups(), PCB_VIA_STACK::Regenerate(), PCB_TUNING_PATTERN::Remove(), PCB_VIA_STACK::Remove(), PCB_VIA_STITCH::Remove(), CONSTRAINT_EDIT_TOOL::removeConstraint(), CONSTRAINT_EDIT_TOOL::RemoveConstraints(), PCB_POINT_EDITOR::removeCorner(), GRAPHIC_EDIT_TOOL::runInteractive(), DIALOG_FP_EDIT_PAD_TABLE::TransferDataFromWindow(), PCB_SELECTION_TOOL::unrouteSegment(), PCB_SELECTION_TOOL::unrouteSelected(), PCB_PROPERTIES_PANEL::valueChanged(), and GLOBAL_EDIT_TOOL::ZonesManager().

◆ Removed()

◆ ResolveItem()

EDA_ITEM * BOARD_COMMIT::ResolveItem ( KIID & aID)
overridevirtual

Search for an item in this commit that matches the provided KIID.

Parameters
aIDis the KIID to search for in the committed items.
Returns
null pointer if aID is null or the item is not found.

Implements COMMIT.

Definition at line 1005 of file board_commit.cpp.

References COMMIT::m_entries, and niluuid.

◆ Revert()

void BOARD_COMMIT::Revert ( )
overridevirtual

Revert the commit by restoring the modified items state.

Implements COMMIT.

Definition at line 832 of file board_commit.cpp.

References BOARD::Add(), KIGFX::VIEW::Add(), BULK, CHT_ADD, CHT_DONE, CHT_FLAGS, CHT_MODIFY, CHT_REMOVE, CHT_TYPE, COMMIT::clear(), EDA_ITEM::ClearEditFlags(), KIGFX::GEOMETRY, GetBoard(), KIGFX::VIEW_ITEM::GetClass(), BOARD::GetComponentClassManager(), BOARD::GetConnectivity(), BOARD::GetFirstFootprint(), BOARD_ITEM::GetParentFootprint(), group, BOARD::IncrementTimeStamp(), INSERT, COMPONENT_CLASS_MANAGER::InvalidateComponentClasses(), isNoGeometryItem(), KIGFX::LAYERS, COMMIT::m_entries, m_isBoardEditor, m_isFootprintEditor, m_toolMgr, BOARD::OnItemsCompositeUpdate(), BOARD::OnRatsnestChanged(), PCB_DRILL_CHART_T, PCB_DRILL_MAP_T, PCB_FOOTPRINT_T, COMPONENT_CLASS_MANAGER::RebuildRequiredCaches(), BOARD::Remove(), KIGFX::VIEW::Remove(), KIGFX::REPAINT, EVENTS::SelectedItemsModified, BOARD_ITEM::SwapItemData(), EDA_ITEM::Type(), UNIMPLEMENTED_FOR, and BOARD::UpdateRatsnestExclusions().

Referenced by PCB_CONTROL::AppendBoard(), PCB_CONTROL::ApplyDesignBlockLayout(), MATCH_PROPERTIES_TOOL::applyToTargets(), AUTOPLACE_TOOL::autoplace(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), ZONE_FILLER_TOOL::CheckAllZones(), EDIT_TOOL::Duplicate(), PAD_TOOL::EnumeratePads(), ZONE_FILLER_TOOL::FillAllZones(), PCB_EDIT_FRAME::ImportSpecctraSession(), mergeZones(), EDIT_TOOL::ModifyLines(), EDIT_TOOL::Move(), PCB_POINT_EDITOR::OnSelectionChange(), EDIT_TOOL::PackAndMoveFootprints(), PCB_CONTROL::Paste(), BOARD_EDITOR_CONTROL::PlaceFootprint(), ZONE_FILLER_TOOL::refillAroundGenerators(), MULTICHANNEL_TOOL::RepeatLayout(), MULTICHANNEL_TOOL::RepeatLayout(), DIALOG_TRACK_VIA_PROPERTIES::TransferDataFromWindow(), ZONE_FILLER_TOOL::ZoneFill(), and ZONE_FILLER_TOOL::ZoneFillDirty().

◆ Stage() [1/3]

COMMIT & BOARD_COMMIT::Stage ( const PICKED_ITEMS_LIST & aItems,
UNDO_REDO aModFlag = UNDO_REDO::UNSPECIFIED,
BASE_SCREEN * aScreen = nullptr )
overridevirtual

Reimplemented from COMMIT.

Definition at line 146 of file board_commit.cpp.

References COMMIT::COMMIT(), and COMMIT::Stage().

◆ Stage() [2/3]

◆ Stage() [3/3]

COMMIT & BOARD_COMMIT::Stage ( std::vector< EDA_ITEM * > & container,
CHANGE_TYPE aChangeType,
BASE_SCREEN * aScreen = nullptr )
overridevirtual

Reimplemented from COMMIT.

Definition at line 140 of file board_commit.cpp.

References COMMIT::COMMIT(), and COMMIT::Stage().

◆ undoLevelItem()

EDA_ITEM * BOARD_COMMIT::undoLevelItem ( EDA_ITEM * aItem) const
overrideprivatevirtual

◆ Unmodify()

◆ Unstage()

void COMMIT::Unstage ( EDA_ITEM * aItem,
BASE_SCREEN * aScreen )
inherited

Member Data Documentation

◆ m_addedItems

std::set<std::pair<EDA_ITEM*, BASE_SCREEN*> > COMMIT::m_addedItems
protectedinherited

Definition at line 188 of file commit.h.

Referenced by clear(), makeEntry(), and Stage().

◆ m_changedItems

std::set<std::pair<EDA_ITEM*, BASE_SCREEN*> > COMMIT::m_changedItems
protectedinherited

Definition at line 189 of file commit.h.

Referenced by clear(), makeEntry(), Stage(), and Unmodify().

◆ m_deletedItems

std::set<std::pair<EDA_ITEM*, BASE_SCREEN*> > COMMIT::m_deletedItems
protectedinherited

Definition at line 190 of file commit.h.

Referenced by clear(), makeEntry(), BOARD_COMMIT::Stage(), and Stage().

◆ m_entries

◆ m_isBoardEditor

bool BOARD_COMMIT::m_isBoardEditor
private

◆ m_isFootprintEditor

bool BOARD_COMMIT::m_isFootprintEditor
private

Definition at line 83 of file board_commit.h.

Referenced by BOARD_COMMIT(), BOARD_COMMIT(), BOARD_COMMIT(), BOARD_COMMIT(), Push(), and Revert().

◆ m_toolMgr

TOOL_MANAGER* BOARD_COMMIT::m_toolMgr
private

The documentation for this class was generated from the following files: