Re: Nouveautés de la version de développement 0.9 and 0.100.0 -0.100.1
Hi all,
Following the previous commit that displays terminal names on contact symbols in Xref (both Contact and Cross modes), I've been working on extending the feature to power contacts and switch (SW) contacts.
Here is what has been implemented:
**Power contacts (e.g. 3-pole contactor, 6 terminals)**
Cross mode: all terminals are collected and sorted numerically → [1-2-3-4-5-6] P1-H9
Contacts mode: each pole displays its own pair:
- Pole 1 → 1 (left) / 2 (right)
- Pole 2 → 3 (left) / 4 (right)
- Pole 3 → 5 (left) / 6 (right)
**SW contacts with typed terminals**
To solve the ambiguity of SW contacts (which appear in both NO and NC columns), TerminalData::Type has been extended with three new semantic values:
enum Type { Generic, Inner, Outer, No, Nc, Common };
Users can now assign a role to each terminal of a SW element directly in the element editor (new entries in the Type combobox: "NO (contact SW)", "NC (contact SW)", "Commun (contact SW)").
Once typed, the Xref displays the correct pair per column:
- NO column: NO + Common pair, e.g. [14-13]
- NC column: NC + Common pair, e.g. [12-13]
- Contacts mode: NO top-left, NC bottom-left, Common right
Elements without explicit terminal types fall back to the previous behavior (first 2 named terminals) — fully backward compatible.
This change affects:
- terminaldata.h / terminaldata.cpp — new enum values + serialization
- terminal.h / terminal.cpp — new public terminalType() accessor
- terminaleditor.cpp — new entries in the type combobox + pre-existing bug fix in updateForm()
- crossrefitem.cpp — filtering by type in Cross and Contacts modes
Joshua, Achim, plc-user, Kellermorph — what do you think?



EDIT: Pushed to the master branch and compiled the main packages.




