Undo / Redo and Clipboard Operations
Undo Redo
Ctrl+Z / Ctrl+Y. TX1's undo stack captures the following operation types:
- Row insert / delete.
- Row move, indent, outdent.
- Cell edits (single or bulk).
- Resource link / unlink.
- Template apply (whole application undoes as one step).
- Paste / Copy Assist operations.
- Markup / margin changes.
- Code set allocation changes.
What's NOT Undoable
- Formulas that trigger
SET()side-effects (the define change itself is undoable, but subsequent recalculations may look odd). - Project creation / deletion.
- Permission changes.
- Anything outside the current project (cross-project copy is one-sided).
Undo Depth
Configurable under User Preferences → Undo Depth (default 200 operations). Older operations fall off the stack.
Undo Grouping
Batch operations (bulk verify, template apply, multi-select indent) are a single undo step. If you select 50 rows and indent them, one Ctrl+Z outdents them all.
The Undo Service
IUndoRedoService drives the stack:
- Each operation carries a forward and reverse delta.
- Storage is in-memory per project; closing the project clears the stack.
Clipboard
Standard Ctrl+C, Ctrl+X, Ctrl+V.
- Copy serialises selected rows to TX1's structured clipboard format.
- Cut behaves like copy then delete (undoable as one step).
- Paste inserts at the selected row.
Special Clipboard Payloads
DirectCostClipboardDto— items + breakdowns + formulas.OverheadClipboardDto— overhead items + breakdowns.ResourceClipboardDto— resources including built-up breakdowns.TemplateClipboardDto— template line items.
Pasting into a compatible view (direct costs ↔ direct costs) preserves everything. Pasting across types triggers Copy Assist's smart mapping (17.2).
Timestamps and Staleness
ClipboardTimestamps records when you copied. If the source entity has changed since, TX1 shows a warning toast on paste.
Paste Special
Edit → Paste Special lets you choose:
- Paste values only (strip formulas).
- Paste formulas only.
- Paste formatting only (bold / colour / style).
- Paste without resource links.
External Clipboards
Copying from TX1 to external apps (Excel, Word, email) uses text fallback — column-separated by tabs, row-separated by newlines. Pasting back into TX1 uses the TX1 clipboard if present, else falls back to text.