mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-06-10 21:03:14 +02:00
terminaldata: add No, Nc, Common types for SW contacts
Extend TerminalData::Type enum with three new semantic values: - No : Normally Open terminal of a switch (SW) contact - Nc : Normally Closed terminal of a switch (SW) contact - Common : Common terminal of a switch (SW) contact Update typeToString() and typeFromString() accordingly. Fully backward compatible: existing Generic/Inner/Outer types are unchanged. Elements without typed terminals fall back to the previous behavior (first 2 named terminals). terminal: expose terminalType() as public accessor Add Terminal::terminalType() returning the TerminalData::Type of this terminal. This allows crossrefitem and other consumers to filter terminals by semantic role (No, Nc, Common) without accessing TerminalData internals directly. terminaleditor: add No, Nc, Common entries to type combobox Expose the three new TerminalData types (No, Nc, Common) in the element editor UI so users can assign a semantic role to each terminal of a SW contact element. Also fix a pre-existing bug in updateForm() where m_type_cb was incorrectly using m_orientation_cb->findData() instead of m_type_cb->findData(), preventing the type from being restored correctly when selecting a terminal. terminaleditor: add No, Nc, Common entries to type combobox Expose the three new TerminalData types (No, Nc, Common) in the element editor UI so users can assign a semantic role to each terminal of a SW contact element. Also fix a pre-existing bug in updateForm() where m_type_cb was incorrectly using m_orientation_cb->findData() instead of m_type_cb->findData(), preventing the type from being restored correctly when selecting a terminal.
This commit is contained in:
@@ -61,7 +61,7 @@ void TerminalEditor::updateForm()
|
||||
ui->m_y_dsb->setValue(m_part->property("y").toReal());
|
||||
ui->m_orientation_cb->setCurrentIndex(ui->m_orientation_cb->findData(m_part->property("orientation")));
|
||||
ui->m_name_le->setText(m_part->terminalName());
|
||||
ui->m_type_cb->setCurrentIndex(ui->m_orientation_cb->findData(m_part->terminalType()));
|
||||
ui->m_type_cb->setCurrentIndex(ui->m_type_cb->findData(m_part->terminalType()));
|
||||
|
||||
activeConnections(true);
|
||||
}
|
||||
@@ -122,6 +122,9 @@ void TerminalEditor::init()
|
||||
ui->m_type_cb->addItem(tr("Générique"), TerminalData::Generic);
|
||||
ui->m_type_cb->addItem(tr("Bornier intérieur"), TerminalData::Inner);
|
||||
ui->m_type_cb->addItem(tr("Bornier extérieur"), TerminalData::Outer);
|
||||
ui->m_type_cb->addItem(tr("NO (contact SW)"), TerminalData::No);
|
||||
ui->m_type_cb->addItem(tr("NC (contact SW)"), TerminalData::Nc);
|
||||
ui->m_type_cb->addItem(tr("Commun (contact SW)"), TerminalData::Common);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user