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 ()
 
BOARD * GetBoard () const
 
void Push (const wxString &aMessage=wxEmptyString, int aCommitFlags=0) override
 Execute the changes.
 
void Revert () override
 Revert the commit by restoring the modified items state.
 
void RevertToCheckpoint (int aCheckpoint) override
 
COMMIT & Stage (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.
 
COMMIT & Stage (std::vector< EDA_ITEM * > &container, CHANGE_TYPE aChangeType, BASE_SCREEN *aScreen=nullptr) override
 
COMMIT & Stage (const PICKED_ITEMS_LIST &aItems, UNDO_REDO aModFlag=UNDO_REDO::UNSPECIFIED, BASE_SCREEN *aScreen=nullptr) override
 
bool RemoveOrDiscard (BOARD_ITEM *aItem)
 Remove aItem, or free it if it was added earlier in this commit and never reached the board.
 
virtual EDA_ITEM * ResolveItem (KIID &aID) override
 Search for an item in this commit that matches the provided KIID.
 
COMMIT & Add (EDA_ITEM *aItem, BASE_SCREEN *aScreen=nullptr)
 Add a new item to the model.
 
COMMIT & Added (EDA_ITEM *aItem, BASE_SCREEN *aScreen=nullptr)
 Notify observers that aItem has been added.
 
COMMIT & Remove (EDA_ITEM *aItem, BASE_SCREEN *aScreen=nullptr)
 Remove a new item from the model.
 
COMMIT & Removed (EDA_ITEM *aItem, BASE_SCREEN *aScreen=nullptr)
 Notify observers that aItem has been removed.
 
COMMIT & Modify (EDA_ITEM *aItem, BASE_SCREEN *aScreen=nullptr, RECURSE_MODE aRecurse=RECURSE_MODE::NO_RECURSE)
 Modify a given item in the model.
 
COMMIT & Modified (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)
 
int Checkpoint ()
 
bool Empty () const
 
int GetStatus (EDA_ITEM *aItem, BASE_SCREEN *aScreen=nullptr)
 Returns status of an item.
 
EDA_ITEM * GetFirst () const
 

Static Public Member Functions

static EDA_ITEM * MakeImage (EDA_ITEM *aItem)
 

Protected Member Functions

EDA_ITEM * undoLevelItem (EDA_ITEM *aItem) const override
 
EDA_ITEM * makeImage (EDA_ITEM *aItem) const override
 
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_LINE * findEntry (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_LINE > m_entries
 

Private Member Functions

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

Private Attributes

TOOL_MANAGER * m_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_DATA_TEST_CASE_F(), 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(), SCH_DRAWING_TOOLS::PlaceImage(), DRAWING_TOOL::PlaceImportedGraphics(), INTERACTIVE_PLACER_BASE::PlaceItem(), PAD_TOOL::PlacePad(), DRAWING_TOOL::PlaceSubGrid(), 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()

◆ Checkpoint()

int COMMIT::Checkpoint ( )
inlineinherited

◆ clear()

void COMMIT::clear ( )
inlineprotectedinherited

Should be called in Push() & Revert() methods.

Definition at line 165 of file commit.h.

References m_addedItems, m_changedItems, m_deletedItems, and m_entries.

Referenced by BOARD_COMMIT::Push(), SCH_COMMIT::Push(), SCH_COMMIT::pushSchEdit(), and SCH_COMMIT::revertLibEdit().

◆ convert() [1/2]

UNDO_REDO COMMIT::convert ( CHANGE_TYPE aType) const
protectedinherited

Definition at line 291 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 279 of file commit.cpp.

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

◆ Empty()

bool COMMIT::Empty ( ) const
inlineinherited

Definition at line 145 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(), checkCrossingTrackTeardropsStayOnCopper(), SCH_EDIT_FRAME::CopyVariant(), DIALOG_CLEANUP_GRAPHICS::doCleanup(), DIALOG_CLEANUP_TRACKS_AND_VIAS::doCleanup(), SCH_EDIT_TOOL::editFieldText(), EDIT_TOOL::Flip(), API_HANDLER_SCH::handleCopyVariant(), API_HANDLER_SCH::handleDeleteVariant(), API_HANDLER_SCH::handleRenameVariant(), SCH_TOOL_BASE< T >::Increment(), 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(), DIALOG_SYMBOL_FIELDS_TABLE::onRenameVariant(), HIERARCHY_PANE::onTreeEditFinished(), 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::SelectBodyStyle(), 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 267 of file commit.cpp.

References m_entries.

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

◆ 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 RevertToCheckpoint().

◆ GetFirst()

EDA_ITEM * COMMIT::GetFirst ( ) const
inlineinherited

Definition at line 153 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
overrideprotectedvirtual

Implements COMMIT.

Definition at line 843 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 224 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_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_DATA_TEST_CASE_F(), 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_FRAME::DeleteAnnotation(), EDIT_TOOL::DeleteItems(), API_HANDLER_BOARD::deleteItemsInternal(), API_HANDLER_SYMBOL::deleteItemsInternal(), 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_SYMBOL::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(), 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(), SCH_MOVE_TOOL::prepareMoveOperation(), 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_EDIT_SYMBOLS_LIBID::TransferDataFromWindow(), DIALOG_FP_EDIT_PAD_TABLE::TransferDataFromWindow(), DIALOG_GENERATED_TABLE_PROPERTIES::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(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem(), 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 218 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_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(), checkCrossingTrackTeardropsStayOnCopper(), 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(), CONVERT_TOOL::OutsetItems(), EDIT_TOOL::PackAndMoveFootprints(), PCB_CONTROL::Paste(), PAD_TOOL::pastePadProperties(), ZONE_CREATE_HELPER::performZoneCutout(), PCB_CONTROL::PlaceCharacteristics(), PCB_CONTROL::PlaceDrillMap(), BOARD_EDITOR_CONTROL::PlaceFootprint(), PCB_CONTROL::placeGeneratedTable(), DRAWING_TOOL::PlaceImportedGraphics(), DRAWING_TOOL::PlaceMicroviaStack(), PCB_CONTROL::PlaceStackup(), DRAWING_TOOL::PlaceSubGrid(), 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_FOOTPRINT_FIELDS_TABLE::TransferDataFromWindow(), DIALOG_FP_EDIT_PAD_TABLE::TransferDataFromWindow(), DIALOG_GENERATED_TABLE_PROPERTIES::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.

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_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_DATA_TEST_CASE_F(), 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_TUNING_PATTERN::Remove(), PCB_VIA_STACK::Remove(), PCB_VIA_STITCH::Remove(), CONSTRAINT_EDIT_TOOL::removeConstraint(), CONSTRAINT_EDIT_TOOL::RemoveConstraints(), PCB_POINT_EDITOR::removeCorner(), BOARD_COMMIT::RemoveOrDiscard(), 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()

◆ RemoveOrDiscard()

bool BOARD_COMMIT::RemoveOrDiscard ( BOARD_ITEM * aItem)

Remove aItem, or free it if it was added earlier in this commit and never reached the board.

Remove() cancels such an add without freeing the item, because some callers (tuning patterns) re-add the same pointer later in the commit. Callers that rebuild their children use this instead.

Returns
true if the item was freed and must not be used again.

Definition at line 152 of file board_commit.cpp.

References CHT_ADD, COMMIT::findEntry(), EDA_ITEM::GetParentGroup(), group, COMMIT::COMMIT_LINE::m_type, COMMIT::Remove(), and COMMIT::Unstage().

Referenced by PCB_VIA_STACK::Regenerate().

◆ 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 1044 of file board_commit.cpp.

References COMMIT::m_entries, and niluuid.

◆ Revert()

◆ RevertToCheckpoint()

◆ 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
overrideprotectedvirtual

◆ Unmodify()

◆ Unstage()

Member Data Documentation

◆ m_addedItems

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

Definition at line 191 of file commit.h.

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

◆ m_changedItems

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

Definition at line 192 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 193 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

◆ m_toolMgr

TOOL_MANAGER* BOARD_COMMIT::m_toolMgr
private

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