Keep in a .qetz what QElectroTech cannot compute for a symbol it cannot build

The .qetz leaves out of its folios what QElectroTech computes when it
builds them (format 4): a symbol's terminal list and information texts,
a wire's description of its ends. A symbol whose definition the project
does not hold is never built, so none of it came back: through a .qetz,
the symbols and wires kept by the previous commit lost their terminal
lists, texts and end labels. QetContainer::dropComputed() now leaves a
symbol whose definition is not in the project's collection
(embeddedDefinitions()), and the wires ending on it, as they are.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ispyisail
2026-10-19 17:21:45 +13:00
parent 7f05b23062
commit 833ed0f523
3 changed files with 51 additions and 4 deletions
+3 -1
View File
@@ -89,7 +89,9 @@ namespace QetContainer
void inlinePicture(QDomElement image, const QByteArray &bytes);
/// Take what QElectroTech computes out of a folio (format 4)
void dropComputed(QDomElement diagram, bool terminal_lists);
void dropComputed(QDomElement diagram, bool terminal_lists, const QSet<QString> &defined);
/// The symbol definitions a project holds, by path after embed://
QSet<QString> embeddedDefinitions(const QDomElement &project);
/// true if every folio, symbol and wire has a uuid of its own
bool ownUuids(const QDomElement &project);
/// Parse @p xml as a .qet is read (QETProject::openFile)