SpecAggregateDelegate

Paints the rows of the spec workspace's aggregate view.

Inherits QStyledItemDelegate
Group libtrove

In the namespace octomy::trove::workspace. Declared in src/libs/libtrove/trove/workspace/SpecAggregateDelegate.hpp.

Detailed description

The delegate of trove-spec-workspace §SW-4.1. A header row is the section's code and title, with its rollup below. A work-unit row is an arrow, the derived path and the title, and the status at the right. An open work unit also shows its body, the Markdown that SpecAggregateModel::MarkdownRole gives, rendered by a QTextDocument as ChatBubbleDelegate renders a chat block.

Bounded

The delegate keeps a rendered body in a QCache of kCachedDocuments documents, by work-unit key and width. A scroll through a million rows holds at most that many documents. The delegate paints with the view's painter in logical coordinates, so the text is sharp at every device pixel ratio without a back buffer (code-ui.md).

See also SpecAggregateModel, SpecWorkspace.

In this section