nomenclature_query
ispyisail edited this page 2026-09-17 10:19:24 +12:00
Clone

Wiki Page Revisions

2 Commits

Author SHA1 Message Date
ispyisail edc5fdf276 Document read-only enforcement, preview and report sharing (#896)
Extends the existing nomenclature/summary query builder page rather
than creating a new one -- PR #896 adds to ElementQueryWidget and
BOMExportDialog, both already documented here.

Also fixes an existing inaccuracy found while researching this:
the page claimed 'Edit SQL query' still restricts the FROM clause to
the bound view. It doesn't -- confirmed in source, ElementQueryWidget::
queryStr() returns the raw text verbatim once that checkbox is
checked. Corrected rather than left in place next to new content that
would have made the contradiction obvious.

Each new section carries a pending notice against #896 until merged.
2026-09-17 10:19:24 +12:00
ispyisail f3bfa8387c Document Search & Replace and the nomenclature/summary query builder
Both were confirmed still-real gaps from the survey: Search & Replace
(sources/SearchAndReplace/, ~3,180 lines) was a single features.md bullet,
and the query-builder UI (sources/dataBase/ui/, ~1,088 lines) was only
named once inside project_database.md as a pointer to ElementQueryWidget,
with no workflow documentation.

## Search & Replace

The name is misleading and worth correcting up front: this is not text
find/replace. SearchAndReplaceWorker::applyChange() shows the real
semantics -- an empty field leaves a property untouched, a filled field
replaces it wholesale (never a substring swap), and a reserved sentinel
string (set via a per-field checkbox, never typed by the user) explicitly
clears a field. Three states per field, not two. Traced through
setupLineEdit()'s own doc comment and applyChange()'s three-branch
behavior to be sure of this before writing it down.

## Nomenclature / summary query builder

ElementQueryWidget (element_nomenclature_view) and SummaryQueryWidget
(project_summary_view) are a visual SELECT builder: two-list column
picker, seven filter modes with their exact SQL traced from
on_m_filter_le_textEdited()'s switch statement (No filter/Not empty/
Empty/Contains/Does not contain/Is equal/Is not equal), group-by and
count, an "Edit SQL query" escape hatch, and named saved configurations.
Explicit about what it is not: not a general SQL client (bound to one
view, can't change the FROM even in raw-SQL mode), and not the same
column set as --export-bom, which was verified to hardcode its own fixed
list in cli_export.cpp rather than sharing this widget's choices.

Links the existing one-line Search & Replace mentions in features (all
three languages) to the new page. EN/FR/DE for both.
2026-09-12 07:29:35 +12:00