7
mirror of https://gitlab.com/kicad/code/kicad.git synced 2025-04-20 19:21:41 +00:00

Convert UNDO_REDO_T to an enum class

This commit is contained in:
Mark Roszko 2020-08-26 18:04:32 +00:00 committed by Seth Hillbrand
parent 0b56dc09a6
commit 1082402b33
54 changed files with 283 additions and 283 deletions

View File

@ -98,23 +98,23 @@ COMMIT& COMMIT::Stage( std::vector<EDA_ITEM*>& container, CHANGE_TYPE aChangeTyp
}
COMMIT& COMMIT::Stage( const PICKED_ITEMS_LIST& aItems, UNDO_REDO_T aModFlag )
COMMIT& COMMIT::Stage( const PICKED_ITEMS_LIST& aItems, UNDO_REDO aModFlag )
{
for( unsigned int i = 0; i < aItems.GetCount(); i++ )
{
UNDO_REDO_T change_type = aItems.GetPickedItemStatus( i );
UNDO_REDO change_type = aItems.GetPickedItemStatus( i );
EDA_ITEM* item = aItems.GetPickedItem( i );
EDA_ITEM* copy = NULL;
if( change_type == UR_UNSPECIFIED )
if( change_type == UNDO_REDO::UNSPECIFIED )
change_type = aItems.m_Status;
if( change_type == UR_UNSPECIFIED )
if( change_type == UNDO_REDO::UNSPECIFIED )
change_type = aModFlag;
if( ( copy = aItems.GetPickedItemLink( i ) ) )
{
assert( change_type == UR_CHANGED );
assert( change_type == UNDO_REDO::CHANGED );
// There was already a copy created, so use it
Modified( item, copy );
@ -199,27 +199,27 @@ COMMIT::COMMIT_LINE* COMMIT::findEntry( EDA_ITEM* aItem )
}
CHANGE_TYPE COMMIT::convert( UNDO_REDO_T aType ) const
CHANGE_TYPE COMMIT::convert( UNDO_REDO aType ) const
{
switch( aType )
{
case UR_NEW:
case UNDO_REDO::NEWITEM:
return CHT_ADD;
case UR_DELETED:
case UNDO_REDO::DELETED:
return CHT_REMOVE;
default:
assert( false );
// fall through
case UR_CHANGED:
case UR_MOVED:
case UR_MIRRORED_X:
case UR_MIRRORED_Y:
case UR_ROTATED:
case UR_ROTATED_CLOCKWISE:
case UR_FLIPPED:
case UNDO_REDO::CHANGED:
case UNDO_REDO::MOVED:
case UNDO_REDO::MIRRORED_X:
case UNDO_REDO::MIRRORED_Y:
case UNDO_REDO::ROTATED:
case UNDO_REDO::ROTATED_CLOCKWISE:
case UNDO_REDO::FLIPPED:
return CHT_MODIFY;
}
}

View File

@ -29,7 +29,7 @@
/*
ITEM_PICKER::ITEM_PICKER( EDA_ITEM* aItem, UNDO_REDO_T aUndoRedoStatus )
ITEM_PICKER::ITEM_PICKER( EDA_ITEM* aItem, UNDO_REDO aUndoRedoStatus )
{
m_undoRedoStatus = aUndoRedoStatus;
SetItem( aItem );
@ -41,7 +41,7 @@ ITEM_PICKER::ITEM_PICKER( EDA_ITEM* aItem, UNDO_REDO_T aUndoRedoStatus )
ITEM_PICKER::ITEM_PICKER()
{
m_undoRedoStatus = UR_UNSPECIFIED;
m_undoRedoStatus = UNDO_REDO::UNSPECIFIED;
SetItem( nullptr );
m_pickerFlags = 0;
m_link = NULL;
@ -49,7 +49,7 @@ ITEM_PICKER::ITEM_PICKER()
}
ITEM_PICKER::ITEM_PICKER( BASE_SCREEN* aScreen, EDA_ITEM* aItem, UNDO_REDO_T aUndoRedoStatus )
ITEM_PICKER::ITEM_PICKER( BASE_SCREEN* aScreen, EDA_ITEM* aItem, UNDO_REDO aUndoRedoStatus )
{
m_undoRedoStatus = aUndoRedoStatus;
SetItem( aItem );
@ -61,7 +61,7 @@ ITEM_PICKER::ITEM_PICKER( BASE_SCREEN* aScreen, EDA_ITEM* aItem, UNDO_REDO_T aUn
PICKED_ITEMS_LIST::PICKED_ITEMS_LIST()
{
m_Status = UR_UNSPECIFIED;
m_Status = UNDO_REDO::UNSPECIFIED;
}
PICKED_ITEMS_LIST::~PICKED_ITEMS_LIST()
@ -121,7 +121,7 @@ void PICKED_ITEMS_LIST::ClearItemsList()
void PICKED_ITEMS_LIST::ClearListAndDeleteItems()
{
// Delete items is they are not flagged UR_NEW, or if this is a block operation
// Delete items is they are not flagged NEWITEM, or if this is a block operation
while( GetCount() > 0 )
{
ITEM_PICKER wrapper = PopItem();
@ -136,7 +136,7 @@ void PICKED_ITEMS_LIST::ClearListAndDeleteItems()
{
delete wrapper.GetItem();
}
else if( wrapper.GetStatus() == UR_DELETED )
else if( wrapper.GetStatus() == UNDO_REDO::DELETED )
{
// This should really be replaced with UR_TRANSIENT, but currently many clients
// (eeschema in particular) abuse this to achieve non-undo-related deletions.
@ -184,12 +184,12 @@ EDA_ITEM* PICKED_ITEMS_LIST::GetPickedItemLink( unsigned int aIdx ) const
}
UNDO_REDO_T PICKED_ITEMS_LIST::GetPickedItemStatus( unsigned int aIdx ) const
UNDO_REDO PICKED_ITEMS_LIST::GetPickedItemStatus( unsigned int aIdx ) const
{
if( aIdx < m_ItemsList.size() )
return m_ItemsList[aIdx].GetStatus();
return UR_UNSPECIFIED;
return UNDO_REDO::UNSPECIFIED;
}
@ -226,7 +226,7 @@ bool PICKED_ITEMS_LIST::SetPickedItemLink( EDA_ITEM* aLink, unsigned aIdx )
}
bool PICKED_ITEMS_LIST::SetPickedItem( EDA_ITEM* aItem, UNDO_REDO_T aStatus, unsigned aIdx )
bool PICKED_ITEMS_LIST::SetPickedItem( EDA_ITEM* aItem, UNDO_REDO aStatus, unsigned aIdx )
{
if( aIdx < m_ItemsList.size() )
{
@ -239,7 +239,7 @@ bool PICKED_ITEMS_LIST::SetPickedItem( EDA_ITEM* aItem, UNDO_REDO_T aStatus, uns
}
bool PICKED_ITEMS_LIST::SetPickedItemStatus( UNDO_REDO_T aStatus, unsigned aIdx )
bool PICKED_ITEMS_LIST::SetPickedItemStatus( UNDO_REDO aStatus, unsigned aIdx )
{
if( aIdx < m_ItemsList.size() )
{

View File

@ -93,7 +93,7 @@ public:
* currently: do nothing in CvPcb.
* but but be defined because it is a pure virtual in PCB_BASE_FRAME
*/
void SaveCopyInUndoList( BOARD_ITEM* aItemToCopy, UNDO_REDO_T aTypeCommand = UR_UNSPECIFIED,
void SaveCopyInUndoList( BOARD_ITEM* aItemToCopy, UNDO_REDO aTypeCommand = UNDO_REDO::UNSPECIFIED,
const wxPoint& aTransformPoint = wxPoint( 0, 0 ) ) override
{
}
@ -104,11 +104,11 @@ public:
* Creates a new entry in undo list of commands.
* add a list of pickers to handle a list of items
* @param aItemsList = the list of items modified by the command to undo
* @param aTypeCommand = command type (see enum UNDO_REDO_T)
* @param aTypeCommand = command type (see enum UNDO_REDO)
* @param aTransformPoint = the reference point of the transformation,
* for commands like move
*/
void SaveCopyInUndoList( const PICKED_ITEMS_LIST& aItemsList, UNDO_REDO_T aTypeCommand,
void SaveCopyInUndoList( const PICKED_ITEMS_LIST& aItemsList, UNDO_REDO aTypeCommand,
const wxPoint& aTransformPoint = wxPoint( 0, 0 ) ) override
{
// currently: do nothing in CvPcb.

View File

@ -67,7 +67,7 @@ void SCH_EDIT_FRAME::DeleteAnnotation( bool aCurrentSheetOnly, bool* aAppendUndo
{
SCH_COMPONENT* component = static_cast<SCH_COMPONENT*>( item );
SaveCopyInUndoList( aScreen, component, UR_CHANGED, *aAppendUndo );
SaveCopyInUndoList( aScreen, component, UNDO_REDO::CHANGED, *aAppendUndo );
*aAppendUndo = true;
component->ClearAnnotation( aSheet );
@ -199,7 +199,7 @@ void SCH_EDIT_FRAME::AnnotateComponents( bool aAnnotateSchematic,
SCH_COMPONENT* comp = ref.GetComp();
SCH_SHEET_PATH* sheet = &ref.GetSheetPath();
SaveCopyInUndoList( sheet->LastScreen(), comp, UR_CHANGED, appendUndo );
SaveCopyInUndoList( sheet->LastScreen(), comp, UNDO_REDO::CHANGED, appendUndo );
appendUndo = true;
ref.Annotate();

View File

@ -129,7 +129,7 @@ bool SCH_EDIT_FRAME::TrimWire( const wxPoint& aStart, const wxPoint& aEnd )
if( IsPointOnSegment( return_line->GetStartPoint(), return_line->GetEndPoint(), aStart ) )
line = return_line;
SaveCopyInUndoList( screen, line, UR_DELETED, true );
SaveCopyInUndoList( screen, line, UNDO_REDO::DELETED, true );
RemoveFromScreen( line, screen );
retval = true;
@ -156,7 +156,7 @@ bool SCH_EDIT_FRAME::SchematicCleanUp( SCH_SCREEN* aScreen )
{
changed = true;
aItem->SetFlags( STRUCT_DELETED );
itemList.PushItem( ITEM_PICKER( aScreen, aItem, UR_DELETED ) );
itemList.PushItem( ITEM_PICKER( aScreen, aItem, UNDO_REDO::DELETED ) );
deletedItems.push_back( aItem );
};
@ -261,7 +261,7 @@ bool SCH_EDIT_FRAME::SchematicCleanUp( SCH_SCREEN* aScreen )
{
remove_item( firstLine );
remove_item( secondLine );
itemList.PushItem( ITEM_PICKER( aScreen, mergedLine, UR_NEW ) );
itemList.PushItem( ITEM_PICKER( aScreen, mergedLine, UNDO_REDO::NEWITEM ) );
AddToScreen( mergedLine, aScreen );
@ -283,7 +283,7 @@ bool SCH_EDIT_FRAME::SchematicCleanUp( SCH_SCREEN* aScreen )
}
if( itemList.GetCount() )
SaveCopyInUndoList( itemList, UR_DELETED, true );
SaveCopyInUndoList( itemList, UNDO_REDO::DELETED, true );
return itemList.GetCount() > 0;
}
@ -304,8 +304,8 @@ bool SCH_EDIT_FRAME::BreakSegment( SCH_LINE* aSegment, const wxPoint& aPoint,
newSegment->SetStartPoint( aPoint );
AddToScreen( newSegment, aScreen );
SaveCopyInUndoList( aScreen, newSegment, UR_NEW, true );
SaveCopyInUndoList( aScreen, aSegment, UR_CHANGED, true );
SaveCopyInUndoList( aScreen, newSegment, UNDO_REDO::NEWITEM, true );
SaveCopyInUndoList( aScreen, aSegment, UNDO_REDO::CHANGED, true );
UpdateItem( aSegment );
aSegment->SetEndPoint( aPoint );
@ -378,7 +378,7 @@ void SCH_EDIT_FRAME::DeleteJunction( SCH_ITEM* aJunction, bool aAppend )
auto remove_item = [ & ]( SCH_ITEM* aItem ) -> void
{
aItem->SetFlags( STRUCT_DELETED );
undoList.PushItem( ITEM_PICKER( screen, aItem, UR_DELETED ) );
undoList.PushItem( ITEM_PICKER( screen, aItem, UNDO_REDO::DELETED ) );
};
remove_item( aJunction );
@ -420,7 +420,7 @@ void SCH_EDIT_FRAME::DeleteJunction( SCH_ITEM* aJunction, bool aAppend )
{
remove_item( firstLine );
remove_item( secondLine );
undoList.PushItem( ITEM_PICKER( screen, line, UR_NEW ) );
undoList.PushItem( ITEM_PICKER( screen, line, UNDO_REDO::NEWITEM ) );
AddToScreen( line, screen );
if( line->IsSelected() )
@ -430,7 +430,7 @@ void SCH_EDIT_FRAME::DeleteJunction( SCH_ITEM* aJunction, bool aAppend )
}
} );
SaveCopyInUndoList( undoList, UR_DELETED, aAppend );
SaveCopyInUndoList( undoList, UNDO_REDO::DELETED, aAppend );
for( auto line : lines )
@ -452,7 +452,7 @@ SCH_JUNCTION* SCH_EDIT_FRAME::AddJunction( SCH_SCREEN* aScreen, const wxPoint& a
SCH_JUNCTION* junction = new SCH_JUNCTION( aPos );
AddToScreen( junction, aScreen );
SaveCopyInUndoList( aScreen, junction, UR_NEW, aUndoAppend );
SaveCopyInUndoList( aScreen, junction, UNDO_REDO::NEWITEM, aUndoAppend );
BreakSegments( aPos );
if( aFinal )

View File

@ -334,7 +334,7 @@ bool DIALOG_CHANGE_SYMBOLS::processSymbol( SCH_COMPONENT* aSymbol, SCH_SCREEN* a
// Removing the symbol needs to be done before the LIB_PART is changed to prevent stale
// library symbols in the schematic file.
aScreen->Remove( aSymbol );
frame->SaveCopyInUndoList( aScreen, aSymbol, UR_CHANGED, aAppendToUndo );
frame->SaveCopyInUndoList( aScreen, aSymbol, UNDO_REDO::CHANGED, aAppendToUndo );
if( aNewId != aSymbol->GetLibId() )
aSymbol->SetLibId( aNewId );

View File

@ -306,7 +306,7 @@ bool DIALOG_EDIT_COMPONENT_IN_LIBRARY::TransferDataFromWindow()
return false;
}
m_Parent->SaveCopyInUndoList( m_libEntry, UR_LIB_RENAME );
m_Parent->SaveCopyInUndoList( m_libEntry, UNDO_REDO::LIB_RENAME );
}
else
{

View File

@ -411,7 +411,7 @@ bool DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::TransferDataFromWindow()
// save old cmp in undo list if not already in edit, or moving ...
if( m_cmp->GetEditFlags() == 0 )
GetParent()->SaveCopyInUndoList( currentScreen, m_cmp, UR_CHANGED, false );
GetParent()->SaveCopyInUndoList( currentScreen, m_cmp, UNDO_REDO::CHANGED, false );
// Save current flags which could be modified by next change settings
STATUS_FLAGS flags = m_cmp->GetFlags();
@ -530,7 +530,7 @@ bool DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::TransferDataFromWindow()
for( SCH_COMPONENT* otherUnit : otherUnits )
{
GetParent()->SaveCopyInUndoList( screen, otherUnit, UR_CHANGED, true /* append */);
GetParent()->SaveCopyInUndoList( screen, otherUnit, UNDO_REDO::CHANGED, true /* append */);
otherUnit->GetField( VALUE )->SetText( m_fields->at( VALUE ).GetText() );
otherUnit->GetField( FOOTPRINT )->SetText( m_fields->at( FOOTPRINT ).GetText() );
otherUnit->GetField( DATASHEET )->SetText( m_fields->at( DATASHEET ).GetText() );

View File

@ -747,7 +747,7 @@ bool DIALOG_EDIT_COMPONENTS_LIBID::TransferDataFromWindow()
if( symbol == nullptr )
continue;
GetParent()->SaveCopyInUndoList( cmp.m_Screen, cmp.m_Component, UR_CHANGED,
GetParent()->SaveCopyInUndoList( cmp.m_Screen, cmp.m_Component, UNDO_REDO::CHANGED,
m_isModified );
m_isModified = true;

View File

@ -291,7 +291,7 @@ bool DIALOG_LABEL_EDITOR::TransferDataFromWindow()
/* save old text in undo list if not already in edit */
if( m_CurrentText->GetEditFlags() == 0 )
m_Parent->SaveCopyInUndoList( m_Parent->GetScreen(), m_CurrentText, UR_CHANGED, false );
m_Parent->SaveCopyInUndoList( m_Parent->GetScreen(), m_CurrentText, UNDO_REDO::CHANGED, false );
m_Parent->GetCanvas()->Refresh();

View File

@ -144,9 +144,9 @@ bool DIALOG_EDIT_LINE_STYLE::TransferDataFromWindow()
STROKE_PARAMS stroke;
for( SCH_ITEM* strokeItem : m_strokeItems )
pickedItems.PushItem( ITEM_PICKER( m_frame->GetScreen(), strokeItem, UR_CHANGED ) );
pickedItems.PushItem( ITEM_PICKER( m_frame->GetScreen(), strokeItem, UNDO_REDO::CHANGED ) );
m_frame->SaveCopyInUndoList( pickedItems, UR_CHANGED, false );
m_frame->SaveCopyInUndoList( pickedItems, UNDO_REDO::CHANGED, false );
for( auto& strokeItem : m_strokeItems )
{

View File

@ -435,7 +435,7 @@ void DIALOG_SCH_EDIT_ONE_FIELD::UpdateField( SCH_FIELD* aField, SCH_SHEET_PATH*
for( SCH_COMPONENT* otherUnit : otherUnits )
{
editFrame->SaveCopyInUndoList( screen, otherUnit, UR_CHANGED, true /* append */);
editFrame->SaveCopyInUndoList( screen, otherUnit, UNDO_REDO::CHANGED, true /* append */);
otherUnit->GetField( fieldType )->SetText( m_text );
editFrame->UpdateItem( otherUnit );
}

View File

@ -99,7 +99,7 @@ bool DIALOG_EDIT_SHEET_PIN::TransferDataFromWindow()
if( !m_sheetPin->IsNew() )
{
SCH_SHEET* parentSheet = m_sheetPin->GetParent();
m_frame->SaveCopyInUndoList( m_frame->GetScreen(), parentSheet, UR_CHANGED, false );
m_frame->SaveCopyInUndoList( m_frame->GetScreen(), parentSheet, UNDO_REDO::CHANGED, false );
}
m_sheetPin->SetText( EscapeString( m_comboName->GetValue(), CTX_NETNAME ) );

View File

@ -602,7 +602,7 @@ public:
SCH_COMPONENT& comp = *m_componentRefs[i].GetComp();
SCH_SCREEN* screen = m_componentRefs[i].GetSheetPath().LastScreen();
m_frame->SaveCopyInUndoList( screen, &comp, UR_CHANGED, true );
m_frame->SaveCopyInUndoList( screen, &comp, UNDO_REDO::CHANGED, true );
const std::map<wxString, wxString>& fieldStore = m_dataStore[comp.m_Uuid];

View File

@ -218,7 +218,7 @@ void DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::processItem( const SCH_SHEET_PATH& aS
auto sch_text = dynamic_cast<SCH_TEXT*>( aItem );
auto lineItem = dynamic_cast<SCH_LINE*>( aItem );
m_parent->SaveCopyInUndoList( aSheetPath.LastScreen(), aItem, UR_CHANGED, m_hasChange );
m_parent->SaveCopyInUndoList( aSheetPath.LastScreen(), aItem, UNDO_REDO::CHANGED, m_hasChange );
if( eda_text )
{

View File

@ -96,9 +96,9 @@ bool DIALOG_JUNCTION_PROPS::TransferDataFromWindow()
PICKED_ITEMS_LIST pickedItems;
for( SCH_JUNCTION* junction : m_junctions )
pickedItems.PushItem( ITEM_PICKER( m_frame->GetScreen(), junction, UR_CHANGED ) );
pickedItems.PushItem( ITEM_PICKER( m_frame->GetScreen(), junction, UNDO_REDO::CHANGED ) );
m_frame->SaveCopyInUndoList( pickedItems, UR_CHANGED, false );
m_frame->SaveCopyInUndoList( pickedItems, UNDO_REDO::CHANGED, false );
for( SCH_JUNCTION* junction : m_junctions )
{

View File

@ -473,7 +473,7 @@ bool DIALOG_SCH_SHEET_PROPS::onSheetFilenameChanged( const wxString& aNewFilenam
}
if( isUndoable )
m_frame->SaveCopyInUndoList( m_frame->GetScreen(), m_sheet, UR_CHANGED, false );
m_frame->SaveCopyInUndoList( m_frame->GetScreen(), m_sheet, UNDO_REDO::CHANGED, false );
if( renameFile )
{

View File

@ -91,9 +91,9 @@ bool DIALOG_UPDATE_FIELDS::TransferDataFromWindow()
PICKED_ITEMS_LIST itemsList;
for( std::pair<SCH_SCREEN*, SCH_COMPONENT*>& component : m_components )
itemsList.PushItem( ITEM_PICKER( component.first, component.second, UR_CHANGED ) );
itemsList.PushItem( ITEM_PICKER( component.first, component.second, UNDO_REDO::CHANGED ) );
m_frame->SaveCopyInUndoList( itemsList, UR_CHANGED, true );
m_frame->SaveCopyInUndoList( itemsList, UNDO_REDO::CHANGED, true );
}

View File

@ -211,7 +211,7 @@ void SCH_EDIT_FRAME::SelectUnit( SCH_COMPONENT* aComponent, int aUnit )
STATUS_FLAGS savedFlags = aComponent->GetFlags();
if( !aComponent->GetEditFlags() ) // No command in progress: save in undo list
SaveCopyInUndoList( GetScreen(), aComponent, UR_CHANGED, false );
SaveCopyInUndoList( GetScreen(), aComponent, UNDO_REDO::CHANGED, false );
/* Update the unit number. */
aComponent->SetUnitSelection( &GetCurrentSheet(), aUnit );

View File

@ -340,7 +340,7 @@ public:
* Because a component in library editor does not have a lot of primitives,
* the full data is duplicated. It is not worth to try to optimize this save function.
*/
void SaveCopyInUndoList( EDA_ITEM* ItemToCopy, UNDO_REDO_T undoType = UR_LIBEDIT,
void SaveCopyInUndoList( EDA_ITEM* ItemToCopy, UNDO_REDO undoType = UNDO_REDO::LIBEDIT,
bool aAppend = false );
void GetComponentFromUndoList();

View File

@ -34,7 +34,7 @@
#include <tools/ee_actions.h>
#include <tools/ee_selection_tool.h>
void LIB_EDIT_FRAME::SaveCopyInUndoList( EDA_ITEM* ItemToCopy, UNDO_REDO_T undoType, bool aAppend )
void LIB_EDIT_FRAME::SaveCopyInUndoList( EDA_ITEM* ItemToCopy, UNDO_REDO undoType, bool aAppend )
{
wxASSERT_MSG( !aAppend, "Append not needed/supported for LibEdit" );
@ -74,7 +74,7 @@ void LIB_EDIT_FRAME::GetComponentFromRedoList()
LIB_PART* part = (LIB_PART*) redoWrapper.GetItem();
wxCHECK( part, /* void */ );
part->ClearFlags( UR_TRANSIENT );
UNDO_REDO_T undoRedoType = redoWrapper.GetStatus();
UNDO_REDO undoRedoType = redoWrapper.GetStatus();
// Store the current part in the undo buffer
PICKED_ITEMS_LIST* undoCommand = new PICKED_ITEMS_LIST();
@ -90,7 +90,7 @@ void LIB_EDIT_FRAME::GetComponentFromRedoList()
// Just set the current part to the part which come from the redo list
m_my_part = part;
if( undoRedoType == UR_LIB_RENAME )
if( undoRedoType == UNDO_REDO::LIB_RENAME )
{
wxString lib = GetCurLib();
m_libMgr->UpdatePartAfterRename( part, oldPart->GetName(), lib );
@ -122,7 +122,7 @@ void LIB_EDIT_FRAME::GetComponentFromUndoList()
LIB_PART* part = (LIB_PART*) undoWrapper.GetItem();
wxCHECK( part, /* void */ );
part->ClearFlags( UR_TRANSIENT );
UNDO_REDO_T undoRedoType = undoWrapper.GetStatus();
UNDO_REDO undoRedoType = undoWrapper.GetStatus();
// Store the current part in the redo buffer
PICKED_ITEMS_LIST* redoCommand = new PICKED_ITEMS_LIST();
@ -138,7 +138,7 @@ void LIB_EDIT_FRAME::GetComponentFromUndoList()
// Just set the current part to the part which come from the undo list
m_my_part = part;
if( undoRedoType == UR_LIB_RENAME )
if( undoRedoType == UNDO_REDO::LIB_RENAME )
{
wxString lib = GetCurLib();
m_libMgr->UpdatePartAfterRename( part, oldPart->GetName(), lib );

View File

@ -1043,7 +1043,7 @@ void SCH_EDIT_FRAME::AddItemToScreenAndUndoList( SCH_SCREEN* aScreen, SCH_ITEM*
if( aItem->Type() == SCH_SHEET_PIN_T )
{
// Sheet pins are owned by their parent sheet.
SaveCopyInUndoList( aScreen, undoItem, UR_CHANGED, aUndoAppend );
SaveCopyInUndoList( aScreen, undoItem, UNDO_REDO::CHANGED, aUndoAppend );
parentSheet->AddPin( (SCH_SHEET_PIN*) aItem );
}
@ -1059,7 +1059,7 @@ void SCH_EDIT_FRAME::AddItemToScreenAndUndoList( SCH_SCREEN* aScreen, SCH_ITEM*
AddToScreen( aItem, aScreen );
SaveCopyForRepeatItem( aItem );
SaveCopyInUndoList( aScreen, undoItem, UR_NEW, aUndoAppend );
SaveCopyInUndoList( aScreen, undoItem, UNDO_REDO::NEWITEM, aUndoAppend );
}
// Update connectivity info for new item

View File

@ -800,14 +800,14 @@ public:
* Create a copy of the current schematic item, and put it in the undo list.
*
* aTypeCommand =
* UR_CHANGED
* UR_NEW
* UR_DELETED
* CHANGED
* NEWITEM
* DELETED
* UR_WIRE_IMAGE
* UR_MOVED
* MOVED
*
* If it is a delete command, items are put on list with the .Flags member
* set to UR_DELETED.
* set to DELETED.
*
* @note
* Edit wires and buses is a bit complex.
@ -816,13 +816,13 @@ public:
* schebang.
*
* @param aItemToCopy = the schematic item modified by the command to undo
* @param aTypeCommand = command type (see enum UNDO_REDO_T)
* @param aTypeCommand = command type (see enum UNDO_REDO)
* @param aAppend = add the item to the previous undo list
* @param aTransformPoint = the reference point of the transformation for commands like move
*/
void SaveCopyInUndoList( SCH_SCREEN* aScreen,
SCH_ITEM* aItemToCopy,
UNDO_REDO_T aTypeCommand,
UNDO_REDO aTypeCommand,
bool aAppend,
const wxPoint& aTransformPoint = wxPoint( 0, 0 ) );
@ -830,12 +830,12 @@ public:
* Create a new entry in undo list of commands.
*
* @param aItemsList = the list of items modified by the command to undo
* @param aTypeCommand = command type (see enum UNDO_REDO_T)
* @param aTypeCommand = command type (see enum UNDO_REDO)
* @param aAppend = add the item to the previous undo list
* @param aTransformPoint = the reference point of the transformation for commands like move
*/
void SaveCopyInUndoList( const PICKED_ITEMS_LIST& aItemsList,
UNDO_REDO_T aTypeCommand,
UNDO_REDO aTypeCommand,
bool aAppend,
const wxPoint& aTransformPoint = wxPoint( 0, 0 ) );

View File

@ -96,7 +96,7 @@
void SCH_EDIT_FRAME::SaveCopyInUndoList( SCH_SCREEN* aScreen,
SCH_ITEM* aItem,
UNDO_REDO_T aCommandType,
UNDO_REDO aCommandType,
bool aAppend,
const wxPoint& aTransformPoint )
{
@ -122,15 +122,15 @@ void SCH_EDIT_FRAME::SaveCopyInUndoList( SCH_SCREEN* aScreen,
switch( aCommandType )
{
case UR_CHANGED: /* Create a copy of item */
case UNDO_REDO::CHANGED: /* Create a copy of item */
itemWrapper.SetLink( aItem->Duplicate( true ) );
commandToUndo->PushItem( itemWrapper );
break;
case UR_NEW:
case UR_DELETED:
case UR_ROTATED:
case UR_MOVED:
case UNDO_REDO::NEWITEM:
case UNDO_REDO::DELETED:
case UNDO_REDO::ROTATED:
case UNDO_REDO::MOVED:
commandToUndo->PushItem( itemWrapper );
break;
@ -156,7 +156,7 @@ void SCH_EDIT_FRAME::SaveCopyInUndoList( SCH_SCREEN* aScreen,
void SCH_EDIT_FRAME::SaveCopyInUndoList( const PICKED_ITEMS_LIST& aItemsList,
UNDO_REDO_T aTypeCommand,
UNDO_REDO aTypeCommand,
bool aAppend,
const wxPoint& aTransformPoint )
{
@ -198,9 +198,9 @@ void SCH_EDIT_FRAME::SaveCopyInUndoList( const PICKED_ITEMS_LIST& aItemsList,
// Connectivity may change
sch_item->SetConnectivityDirty();
UNDO_REDO_T command = commandToUndo->GetPickedItemStatus( ii );
UNDO_REDO command = commandToUndo->GetPickedItemStatus( ii );
if( command == UR_UNSPECIFIED )
if( command == UNDO_REDO::UNSPECIFIED )
{
command = aTypeCommand;
commandToUndo->SetPickedItemStatus( command, ii );
@ -208,7 +208,7 @@ void SCH_EDIT_FRAME::SaveCopyInUndoList( const PICKED_ITEMS_LIST& aItemsList,
switch( command )
{
case UR_CHANGED:
case UNDO_REDO::CHANGED:
/* If needed, create a copy of item, and put in undo list
* in the picker, as link
@ -220,14 +220,14 @@ void SCH_EDIT_FRAME::SaveCopyInUndoList( const PICKED_ITEMS_LIST& aItemsList,
wxASSERT( commandToUndo->GetPickedItemLink( ii ) );
break;
case UR_MOVED:
case UR_MIRRORED_Y:
case UR_MIRRORED_X:
case UR_ROTATED:
case UR_NEW:
case UR_DELETED:
case UR_EXCHANGE_T:
case UR_PAGESETTINGS:
case UNDO_REDO::MOVED:
case UNDO_REDO::MIRRORED_Y:
case UNDO_REDO::MIRRORED_X:
case UNDO_REDO::ROTATED:
case UNDO_REDO::NEWITEM:
case UNDO_REDO::DELETED:
case UNDO_REDO::EXCHANGE_T:
case UNDO_REDO::PAGESETTINGS:
break;
default:
@ -257,26 +257,26 @@ void SCH_EDIT_FRAME::PutDataInPreviousState( PICKED_ITEMS_LIST* aList, bool aRed
// same item can be changed and deleted in the same complex command).
for( int ii = aList->GetCount() - 1; ii >= 0; ii-- )
{
UNDO_REDO_T status = aList->GetPickedItemStatus((unsigned) ii );
UNDO_REDO status = aList->GetPickedItemStatus((unsigned) ii );
EDA_ITEM* eda_item = aList->GetPickedItem( (unsigned) ii );
eda_item->SetFlags( aList->GetPickerFlags( (unsigned) ii ) );
eda_item->ClearEditFlags();
eda_item->ClearTempFlags();
if( status == UR_NEW )
if( status == UNDO_REDO::NEWITEM )
{
// new items are deleted on undo
RemoveFromScreen( eda_item, (SCH_SCREEN*) aList->GetScreenForItem( (unsigned) ii ) );
aList->SetPickedItemStatus( UR_DELETED, (unsigned) ii );
aList->SetPickedItemStatus( UNDO_REDO::DELETED, (unsigned) ii );
}
else if( status == UR_DELETED )
else if( status == UNDO_REDO::DELETED )
{
// deleted items are re-inserted on undo
AddToScreen( eda_item, (SCH_SCREEN*) aList->GetScreenForItem( (unsigned) ii ) );
aList->SetPickedItemStatus( UR_NEW, (unsigned) ii );
aList->SetPickedItemStatus( UNDO_REDO::NEWITEM, (unsigned) ii );
}
else if( status == UR_PAGESETTINGS )
else if( status == UNDO_REDO::PAGESETTINGS )
{
// swap current settings with stored settings
WS_PROXY_UNDO_ITEM alt_item( this );
@ -295,23 +295,23 @@ void SCH_EDIT_FRAME::PutDataInPreviousState( PICKED_ITEMS_LIST* aList, bool aRed
switch( status )
{
case UR_CHANGED:
case UNDO_REDO::CHANGED:
item->SwapData( alt_item );
break;
case UR_MOVED:
case UNDO_REDO::MOVED:
item->Move( aRedoCommand ? aList->m_TransformPoint : -aList->m_TransformPoint );
break;
case UR_MIRRORED_Y:
case UNDO_REDO::MIRRORED_Y:
item->MirrorY( aList->m_TransformPoint.x );
break;
case UR_MIRRORED_X:
case UNDO_REDO::MIRRORED_X:
item->MirrorX( aList->m_TransformPoint.y );
break;
case UR_ROTATED:
case UNDO_REDO::ROTATED:
if( aRedoCommand )
item->Rotate( aList->m_TransformPoint );
else
@ -323,7 +323,7 @@ void SCH_EDIT_FRAME::PutDataInPreviousState( PICKED_ITEMS_LIST* aList, bool aRed
}
break;
case UR_EXCHANGE_T:
case UNDO_REDO::EXCHANGE_T:
aList->SetPickedItem( alt_item, (unsigned) ii );
aList->SetPickedItemLink( item, (unsigned) ii );
item = alt_item;

View File

@ -402,7 +402,7 @@ void BACK_ANNOTATE::applyChangelist()
if( !m_dryRun )
{
m_frame->SaveCopyInUndoList( screen, comp, UR_CHANGED, m_appendUndo );
m_frame->SaveCopyInUndoList( screen, comp, UNDO_REDO::CHANGED, m_appendUndo );
m_appendUndo = true;
comp->SetRef( &ref.GetSheetPath(), module.m_ref );
}
@ -420,7 +420,7 @@ void BACK_ANNOTATE::applyChangelist()
if( !m_dryRun )
{
m_frame->SaveCopyInUndoList( screen, comp, UR_CHANGED, m_appendUndo );
m_frame->SaveCopyInUndoList( screen, comp, UNDO_REDO::CHANGED, m_appendUndo );
m_appendUndo = true;
ref.GetComp()->GetField( FOOTPRINT )->SetText( module.m_footprint );
}
@ -438,7 +438,7 @@ void BACK_ANNOTATE::applyChangelist()
if( !m_dryRun )
{
m_frame->SaveCopyInUndoList( screen, comp, UR_CHANGED, m_appendUndo );
m_frame->SaveCopyInUndoList( screen, comp, UNDO_REDO::CHANGED, m_appendUndo );
m_appendUndo = true;
comp->GetField( VALUE )->SetText( module.m_value );
}
@ -561,7 +561,7 @@ void BACK_ANNOTATE::processNetNameChange( SCH_CONNECTION* aConn, const wxString&
if( EscapeString( label->GetShownText(), CTX_NETNAME ) == oldName )
{
m_frame->SaveCopyInUndoList( aScreen, label, UR_CHANGED, m_appendUndo );
m_frame->SaveCopyInUndoList( aScreen, label, UNDO_REDO::CHANGED, m_appendUndo );
m_appendUndo = true;
static_cast<SCH_TEXT*>( label )->SetText( newName );
}
@ -584,7 +584,7 @@ void BACK_ANNOTATE::processNetNameChange( SCH_CONNECTION* aConn, const wxString&
if( conn && conn->Driver() == driver )
{
m_frame->SaveCopyInUndoList( screen, label, UR_CHANGED, m_appendUndo );
m_frame->SaveCopyInUndoList( screen, label, UNDO_REDO::CHANGED, m_appendUndo );
m_appendUndo = true;
static_cast<SCH_TEXT*>( label )->SetText( aNewName );
}
@ -628,7 +628,7 @@ void BACK_ANNOTATE::processNetNameChange( SCH_CONNECTION* aConn, const wxString&
{
if( EscapeString( pin->GetShownText(), CTX_NETNAME ) == aOldName )
{
m_frame->SaveCopyInUndoList( screen, pin, UR_CHANGED, m_appendUndo );
m_frame->SaveCopyInUndoList( screen, pin, UNDO_REDO::CHANGED, m_appendUndo );
m_appendUndo = true;
static_cast<SCH_TEXT*>( pin )->SetText( aNewName );
}
@ -645,7 +645,7 @@ void BACK_ANNOTATE::processNetNameChange( SCH_CONNECTION* aConn, const wxString&
if( !m_dryRun )
{
SCH_SCREEN* screen = aConn->Sheet().LastScreen();
m_frame->SaveCopyInUndoList( screen, driver, UR_CHANGED, m_appendUndo );
m_frame->SaveCopyInUndoList( screen, driver, UNDO_REDO::CHANGED, m_appendUndo );
m_appendUndo = true;
static_cast<SCH_TEXT*>( driver )->SetText( aNewName );

Some files were not shown because too many files have changed in this diff Show More