variables: recount the element information keys against master
The page said an element carries 57 information keys, that three are absent
from the braced-variable list by design, and that four more are absent with no
apparent reason. Measured against master 3cbb93075 that is now out of date.
QETInformation::elementInfoKeys() lists 61 keys; 59 braced variables are
recognised in AssignVariables::replaceVariable(). Eleven keys have no braced
variable: formula and xref, absent by design, plus nine more. Five of those
nine -- category, model, notes, voltage_rating and current_rating -- arrived
with the smart-device metadata fields and were never added to
replaceVariable(). The four machine_manufacturer_reference_auxiliary variants
the page already documented have been missing for longer.
exclude_from_bom is dropped from the "absent by design" list: it is not in
elementInfoKeys() at all, so it was never a candidate.
Applied to the English, French and German pages, which carried the same
figures. Each now records what the earlier numbers were and that they were
correct when written -- the drift is the argument for counting from the source
rather than maintaining the list by hand.
Document the variable and formula language, all five dialects of it
There is no single %-variable language in QET: element labels, conductor
texts, the folio field, title block cells and cross-reference labels each
resolve a different set, and a variable that works in one is left as
literal text in another with no error. The folio field is the sharpest
case -- it understands %autonum, %id and %total and nothing else, so the
%f and %{...} people reach for there print verbatim on every folio.
Also records two things the code says that nothing else documents:
- %f and %F are not interchangeable. %f is the folio index; %F inserts
the folio *field*, which defaults to "%id/%total" and so renders
"3/12". It works only because %F is expanded before %id and %total in
the same pass.
- AssignVariables::replaceVariable() is a hard-coded list, not a lookup
over elementInfoKeys(). Three omissions are deliberate (formula, xref,
exclude_from_bom) but machine_manufacturer_reference_auxiliary1..4 are
simply missing: the fields exist and can be filled in, the plain
machine_manufacturer_reference resolves, and the four auxiliary
variants stay on the drawing as literal text.
EN/FR/DE.