Identity-only editor state that never enters the document or its undo history.
More...
|
| std::span< const timeline::ItemId > | items () const noexcept |
| | Returns selected identities in ascending order without duplicates.
|
| std::optional< timeline::ItemId > | anchor () const noexcept |
| | Returns the identity from which range extension begins, when one exists.
|
| bool | contains (timeline::ItemId item) const noexcept |
| | Returns whether item is selected.
|
| bool | empty () const noexcept |
| | Returns whether no identities are selected.
|
| void | clear () noexcept |
| | Clears the selected identities and range anchor.
|
| void | replace (std::span< const timeline::ItemId > items) |
| | Replaces the selection, retaining the first valid input as the range anchor.
|
| void | add (timeline::ItemId item) |
| | Adds one identity while preserving an existing range anchor.
|
| void | toggle (timeline::ItemId item) |
| | Adds an absent identity or removes a selected one.
|
| bool | extend_from_anchor (timeline::ItemId item, std::span< const timeline::ItemId > ordered_items) |
| | Replaces the selection with the inclusive ordered range from the anchor to item.
|
| void | prune (const timeline::Project &project) |
| | Removes identities missing from project or retained only as inactive tombstones.
|
Identity-only editor state that never enters the document or its undo history.