66 Modify( parentGroup->AsEdaItem(), aScreen, RECURSE_MODE::NO_RECURSE );
89 Stage( item, aChangeType, aScreen);
97 for(
unsigned int i = 0; i < aItems.
GetCount(); i++ )
102 if( change_type == UNDO_REDO::UNSPECIFIED )
103 change_type = aModFlag;
107 assert( change_type == UNDO_REDO::CHANGED );
130 wxASSERT( line.m_item->IsNew() );
146 return entry ? entry->
m_type : 0;
188 if( change.m_item == aItem && change.m_screen == aScreen )
200 case UNDO_REDO::NEWITEM:
return CHT_ADD;
203 default: wxASSERT(
false );
return CHT_MODIFY;
212 case CHT_ADD:
return UNDO_REDO::NEWITEM;
215 default: wxASSERT(
false );
return UNDO_REDO::CHANGED;
Handles how to draw a screen (a board, a schematic ...)
Represent a set of changes (additions, deletions or modifications) of a data model (e....
COMMIT & createModified(EDA_ITEM *aItem, EDA_ITEM *aCopy, int aExtraFlags=0, BASE_SCREEN *aScreen=nullptr)
void Unstage(EDA_ITEM *aItem, BASE_SCREEN *aScreen)
std::set< EDA_ITEM * > m_deletedItems
COMMIT & Modified(EDA_ITEM *aItem, EDA_ITEM *aCopy, BASE_SCREEN *aScreen=nullptr)
Create an undo entry for an item that has been already modified.
COMMIT & Modify(EDA_ITEM *aItem, BASE_SCREEN *aScreen=nullptr, RECURSE_MODE aRecurse=RECURSE_MODE::NO_RECURSE)
Modify a given item in the model.
COMMIT_LINE * findEntry(EDA_ITEM *aItem, BASE_SCREEN *aScreen=nullptr)
Search for an entry describing change for a particular item.
virtual void makeEntry(EDA_ITEM *aItem, CHANGE_TYPE aType, EDA_ITEM *aCopy=nullptr, BASE_SCREEN *aScreen=nullptr)
std::set< EDA_ITEM * > m_changedItems
virtual EDA_ITEM * parentObject(EDA_ITEM *aItem) const =0
virtual EDA_ITEM * makeImage(EDA_ITEM *aItem) const =0
CHANGE_TYPE convert(UNDO_REDO aType) const
int GetStatus(EDA_ITEM *aItem, BASE_SCREEN *aScreen=nullptr)
Returns status of an item.
std::vector< COMMIT_LINE > m_changes
virtual COMMIT & Stage(EDA_ITEM *aItem, CHANGE_TYPE aChangeType, BASE_SCREEN *aScreen=nullptr, RECURSE_MODE aRecurse=RECURSE_MODE::NO_RECURSE)
Add a change of the item aItem of type aChangeType to the change list.
A set of EDA_ITEMs (i.e., without duplicates).
A base class for most all the KiCad significant classes used in schematics and boards.
virtual EDA_GROUP * GetParentGroup() const
A holder to handle information on schematic or board items.
UNDO_REDO GetPickedItemStatus(unsigned int aIdx) const
EDA_ITEM * GetPickedItemLink(unsigned int aIdx) const
unsigned GetCount() const
EDA_ITEM * GetPickedItem(unsigned int aIdx) const
CHANGE_TYPE
Types of changes.
@ CHT_DONE
Flag to indicate the change is already applied.
This file contains miscellaneous commonly used macros and functions.
EDA_ITEM * m_copy
Optional copy of the item.
CHANGE_TYPE m_type
Modification type.
EDA_ITEM * m_item
Main item that is added/deleted/modified.
UNDO_REDO
Undo Redo considerations: Basically we have 3 cases New item Deleted item Modified item there is also...