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:
parent
0b56dc09a6
commit
1082402b33
common
cvpcb
eeschema
annotate.cppbus-wire-junction.cpp
dialogs
dialog_change_symbols.cppdialog_edit_component_in_lib.cppdialog_edit_component_in_schematic.cppdialog_edit_components_libid.cppdialog_edit_label.cppdialog_edit_line_style.cppdialog_edit_one_field.cppdialog_edit_sheet_pin.cppdialog_fields_editor_global.cppdialog_global_edit_text_and_graphics.cppdialog_junction_props.cppdialog_sch_sheet_props.cppdialog_update_fields.cpp
getpart.cpplibedit
sch_edit_frame.cppsch_edit_frame.hschematic_undo_redo.cpptools
gerbview
include
pagelayout_editor
pcbnew
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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() )
|
||||
{
|
||||
|
@ -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.
|
||||
|
@ -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();
|
||||
|
||||
|
@ -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 )
|
||||
|
@ -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 );
|
||||
|
@ -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
|
||||
{
|
||||
|
@ -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() );
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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();
|
||||
|
||||
|
@ -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 )
|
||||
{
|
||||
|
@ -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 );
|
||||
}
|
||||
|
@ -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 ) );
|
||||
|
@ -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];
|
||||
|
||||
|
@ -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 )
|
||||
{
|
||||
|
@ -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 )
|
||||
{
|
||||
|
@ -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 )
|
||||
{
|
||||
|
@ -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 );
|
||||
}
|
||||
|
||||
|
||||
|
@ -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 );
|
||||
|
@ -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();
|
||||
|
@ -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 );
|
||||
|
@ -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
|
||||
|
@ -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 ) );
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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
Loading…
Reference in New Issue
Block a user