KiCad PCB EDA Suite
undo_redo_container.h File Reference
#include <vector>
#include <eda_item.h>

Go to the source code of this file.

Classes

class  ITEM_PICKER
 
class  PICKED_ITEMS_LIST
 PICKED_ITEMS_LIST is a holder to handle information on schematic or board items. More...
 
class  UNDO_REDO_CONTAINER
 UNDO_REDO_CONTAINER is a holder to handle alist of undo (or redo) command. More...
 

Enumerations

enum  UNDO_REDO {
  UNDO_REDO::UNSPECIFIED = 0, UNDO_REDO::CHANGED, UNDO_REDO::NEWITEM, UNDO_REDO::DELETED,
  UNDO_REDO::MOVED, UNDO_REDO::MIRRORED_X, UNDO_REDO::MIRRORED_Y, UNDO_REDO::ROTATED,
  UNDO_REDO::ROTATED_CLOCKWISE, UNDO_REDO::FLIPPED, UNDO_REDO::LIBEDIT, UNDO_REDO::LIB_RENAME,
  UNDO_REDO::EXCHANGE_T, UNDO_REDO::DRILLORIGIN, UNDO_REDO::GRIDORIGIN, UNDO_REDO::PAGESETTINGS,
  UNDO_REDO::GROUP, UNDO_REDO::UNGROUP
}
 Undo Redo considerations: Basically we have 3 cases New item Deleted item Modified item there is also a specific case in Eeschema, when wires are modified If an item is modified, a copy of the "old" item parameters value is held. More...
 

Enumeration Type Documentation

◆ UNDO_REDO

enum UNDO_REDO
strong

Undo Redo considerations: Basically we have 3 cases New item Deleted item Modified item there is also a specific case in Eeschema, when wires are modified If an item is modified, a copy of the "old" item parameters value is held.

When an item is deleted or added (new item) the pointer points the item, and there is no other copy.

Enumerator
UNSPECIFIED 
CHANGED 
NEWITEM 
DELETED 
MOVED 
MIRRORED_X 
MIRRORED_Y 
ROTATED 
ROTATED_CLOCKWISE 
FLIPPED 
LIBEDIT 
LIB_RENAME 
EXCHANGE_T 
DRILLORIGIN 
GRIDORIGIN 
PAGESETTINGS 
GROUP 
UNGROUP 

Definition at line 53 of file undo_redo_container.h.

53  {
54  UNSPECIFIED = 0, // illegal
55  CHANGED, // params of items have a value changed: undo is made by exchange
56  // values with a copy of these values
57  NEWITEM, // new item, undo by changing in deleted
58  DELETED, // deleted item, undo by changing in deleted
59  MOVED, // moved item, undo by move it
60  MIRRORED_X, // mirrored item, undo by mirror X
61  MIRRORED_Y, // mirrored item, undo by mirror Y
62  ROTATED, // Rotated item (counterclockwise), undo by rotating it
63  ROTATED_CLOCKWISE, // Rotated item (clockwise), undo by rotating it
64  FLIPPED, // flipped (board items only), undo by flipping it
65  LIBEDIT, // Specific to the component editor (symbol_editor creates a full copy
66  // of the current component when changed)
67  LIB_RENAME, // As LIBEDIT, but old copy should be removed from library
68  EXCHANGE_T, // Use for changing the schematic text type where swapping
69  // data structure is insufficient to restore the change.
70  DRILLORIGIN, // origin changed (like CHANGED, contains the origin and a copy)
71  GRIDORIGIN, // origin changed (like CHANGED, contains the origin and a copy)
72  PAGESETTINGS, // page settings or title block changes
73  GROUP,
74  UNGROUP
75 };