Oops, I Goofed!

To err is human, to forgive divine. You've seen how HiWIRE® allows correcting minor mistakes: Selections can be revised; Backspace corrects a mispositioned line vertex.

HiWIRE® provides another, more uniform way, to tolerate inevitable mistakes. Each time you change a primitive, HiWIRE® adds a copy of the old, unchanged version to a big undo list. If you decide you've made a mistake, you can back out of your changes and start over again.

Even if you decide backing out was a mistake, don't fret. HiWIRE® remembers the changes you made, and can remake them for you.

There are a few limitations, but in practice they don't seem to matter much.

Undoing a Change

Select Edit->Undo … or use the shortcut Ctrl-Z.

The changes HiWIRE knows how to reverse are:

  • Adding a new primitive from the parts bin

  • Bending or Extending a line

  • Changing a label's text or attribute

  • Changing a pad's size and shape

  • Changing an arc's angle and diameter

  • Changing a polygon's shape

  • Moving a group or primitive

  • Duplicating a group or primitive

  • Binding or Freeing a group, but see Limitations, below.

The Edit menu describes the action you're about to reverse. For example, if you've just inserted a pad from the parts bin, you'll actually see Undo new pad; if you've just deleted a group, you'll see Undo cut group.

Tip

Ctrl-Z is preferred to undo one operation. Edit->Undo … is more useful if you're undoing a whole sequence; it reminds you of the operation you're reversing and gives you an opportunity to confirm the desired effect.

Redoing a Change

Select Edit->Redo … or use the shortcut Ctrl-R. Like the undo operation, Edit->Redo … keeps you abreast of changes it's about to make.

Limitations

Idealists insist that interactive applications should offer unlimited undo/redo: Every action should be undoable, even after a document has been closed and reopened.

Pragmatists point out that, while five levels of undo is convenient, twenty is only marginally useful, and any more is effectively worthless.

HiWIRE tends to the pragmatic approach. So long as there is sufficient memory, HiWIRE remembers all changes, additions, and deletions you perform since you loaded your drawing.

However, two operations, assembling and dismantling groups, can cause major upheavals in your drawing data. These operations may create kind of an event horizon beyond which recorded changes cannot be recovered. This effect is not insurmountable, but the solution would most likely involve HiWIRE becoming quite unresponsive as a snapshot of your drawing and its undo list were saved to disk. The disk space occupied by a drawing and its snapshots would quickly balloon to fill all available free space.

Instead, if you assemble or dismantle a group, HiWIRE may discard the current undo list and start a new one. The first element in the list will be the assembly or dismantling itself, and you will be able to back out of that operation, but the history of any earlier operations will be lost.

If the Edit->Undo … or Edit->Redo … menu items are dimmed, HiWIRE is telling you that there is nothing more it can undo/redo.

Next topic: Navigating Through Your Drawing