Models

April 8, 2026 · View on GitHub

Models are Qt Model/View data representations (QAbstractItemModel subclasses and proxy models). They hold data and expose it to views via Qt's model/view framework. Models are pure data layers — they do not depend on any specific view or widget.

See MVC Rules — Key rule for models: Models MUST NOT contain UI logic (reusable across different views).

Model Inventory

ModelBase ClassPurpose
NotebookNodeModelQAbstractItemModelNode hierarchy (folders and files)
NotebookNodeProxyModelQSortFilterProxyModelSorting/filtering nodes
OutlineModelQAbstractItemModelDocument heading outline
SearchResultModelQAbstractItemModelSearch result data
SnippetListModelQAbstractItemModelSnippet list data
TagModelQAbstractItemModelTag hierarchy
TagFileModelQAbstractItemModelFiles associated with tags
AttachmentListModelQAbstractItemModelAttachment list data
TreeFilterProxyModelQSortFilterProxyModelGeneric tree filtering proxy
INodeListModelInterface for node list models