mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-10-10 22:24:13 +02:00
Terminal strip: add resistor, varistor, test socket and reversed diode types
Add ElementData::TTResistor, TTVaristor, TTTestSocket and TTDiodeReversed (xml values "resistor", "varistor", "test_socket", "diode_reversed"), selectable in the element editor, the terminal strip editor and the free terminal editor, and drawn in the terminal strip plan.
This commit is contained in:
@@ -115,6 +115,41 @@ void drawAntiParallelDiodesSymbol(QPainter *painter)
|
||||
painter->drawLine(QPointF{5, 2}, QPointF{5, 5});
|
||||
}
|
||||
|
||||
void drawResistorSymbol(QPainter *painter)
|
||||
{
|
||||
painter->drawLine(QPointF{0, -7}, QPointF{0, -5});
|
||||
painter->drawRect(QRectF{-3, -5, 6, 10});
|
||||
painter->drawLine(QPointF{0, 5}, QPointF{0, 7});
|
||||
}
|
||||
|
||||
//A resistor crossed by an oblique line ended by a short bar
|
||||
void drawVaristorSymbol(QPainter *painter)
|
||||
{
|
||||
drawResistorSymbol(painter);
|
||||
painter->drawLine(QPointF{-5, 5}, QPointF{5, -5});
|
||||
painter->drawLine(QPointF{5, -5}, QPointF{8, -5});
|
||||
}
|
||||
|
||||
//A measuring point : the line is interrupted by a small circle
|
||||
void drawTestSocketSymbol(QPainter *painter)
|
||||
{
|
||||
const qreal r{2.5};
|
||||
painter->drawLine(QPointF{0, -7}, QPointF{0, -r});
|
||||
painter->drawEllipse(QPointF{0, 0}, r, r);
|
||||
painter->drawLine(QPointF{0, r}, QPointF{0, 7});
|
||||
}
|
||||
|
||||
//Same as the diode, the anode is at the bottom
|
||||
void drawDiodeReversedSymbol(QPainter *painter)
|
||||
{
|
||||
const qreal t{symbol_height / 3};
|
||||
const QPointF triangle[3] { {-t, t}, {t, t}, {0, -t} };
|
||||
painter->drawLine(QPointF{0, -7}, QPointF{0, -t});
|
||||
painter->drawLine(QPointF{-t, -t}, QPointF{t, -t});
|
||||
painter->drawPolygon(triangle, 3);
|
||||
painter->drawLine(QPointF{0, t}, QPointF{0, 7});
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief drawScaled
|
||||
* Call @a draw with the painter moved by @a dx and scaled by @a factor.
|
||||
@@ -173,6 +208,10 @@ void drawTypeSymbol(QPainter *painter, const QRectF &box, ElementData::TerminalT
|
||||
case ElementData::TTDiode : drawDiodeSymbol(p); break;
|
||||
case ElementData::TTGround : drawGroundSymbol(p); break;
|
||||
case ElementData::TTAntiParallelDiodes : drawAntiParallelDiodesSymbol(p); break;
|
||||
case ElementData::TTResistor : drawResistorSymbol(p); break;
|
||||
case ElementData::TTVaristor : drawVaristorSymbol(p); break;
|
||||
case ElementData::TTTestSocket : drawTestSocketSymbol(p); break;
|
||||
case ElementData::TTDiodeReversed : drawDiodeReversedSymbol(p); break;
|
||||
default: break;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -193,6 +193,14 @@ void FreeTerminalEditor::on_m_type_cb_activated(int index)
|
||||
override_type = ElementData::TTGround; break;
|
||||
case 5:
|
||||
override_type = ElementData::TTAntiParallelDiodes; break;
|
||||
case 6:
|
||||
override_type = ElementData::TTResistor; break;
|
||||
case 7:
|
||||
override_type = ElementData::TTVaristor; break;
|
||||
case 8:
|
||||
override_type = ElementData::TTTestSocket; break;
|
||||
case 9:
|
||||
override_type = ElementData::TTDiodeReversed; break;
|
||||
default:
|
||||
override_type = ElementData::TTGeneric; break;
|
||||
}
|
||||
|
||||
@@ -127,6 +127,26 @@
|
||||
<string>Anti-parallel diodes</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Resistor</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Varistor</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Test socket</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Diode (reversed)</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="2" colspan="2">
|
||||
|
||||
@@ -430,6 +430,10 @@ QWidget *FreeTerminalModelDelegate::createEditor(QWidget *parent, const QStyleOp
|
||||
qcb->addItem(ElementData::translatedTerminalType(ElementData::TTDiode), ElementData::TTDiode);
|
||||
qcb->addItem(ElementData::translatedTerminalType(ElementData::TTGround), ElementData::TTGround);
|
||||
qcb->addItem(ElementData::translatedTerminalType(ElementData::TTAntiParallelDiodes), ElementData::TTAntiParallelDiodes);
|
||||
qcb->addItem(ElementData::translatedTerminalType(ElementData::TTResistor), ElementData::TTResistor);
|
||||
qcb->addItem(ElementData::translatedTerminalType(ElementData::TTVaristor), ElementData::TTVaristor);
|
||||
qcb->addItem(ElementData::translatedTerminalType(ElementData::TTTestSocket), ElementData::TTTestSocket);
|
||||
qcb->addItem(ElementData::translatedTerminalType(ElementData::TTDiodeReversed), ElementData::TTDiodeReversed);
|
||||
|
||||
return qcb;
|
||||
}
|
||||
|
||||
@@ -571,6 +571,14 @@ void TerminalStripEditor::on_m_type_cb_activated(int index)
|
||||
override_type = ElementData::TTGround; break;
|
||||
case 5:
|
||||
override_type = ElementData::TTAntiParallelDiodes; break;
|
||||
case 6:
|
||||
override_type = ElementData::TTResistor; break;
|
||||
case 7:
|
||||
override_type = ElementData::TTVaristor; break;
|
||||
case 8:
|
||||
override_type = ElementData::TTTestSocket; break;
|
||||
case 9:
|
||||
override_type = ElementData::TTDiodeReversed; break;
|
||||
default:
|
||||
override_type = ElementData::TTGeneric; break;
|
||||
}
|
||||
|
||||
@@ -132,6 +132,26 @@
|
||||
<string>Anti-parallel diodes</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Resistor</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Varistor</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Test socket</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Diode (reversed)</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="0">
|
||||
|
||||
@@ -834,6 +834,10 @@ QWidget *TerminalStripModelDelegate::createEditor(QWidget *parent, const QStyleO
|
||||
qcb->addItem(ElementData::translatedTerminalType(ElementData::TTDiode), ElementData::TTDiode);
|
||||
qcb->addItem(ElementData::translatedTerminalType(ElementData::TTGround), ElementData::TTGround);
|
||||
qcb->addItem(ElementData::translatedTerminalType(ElementData::TTAntiParallelDiodes), ElementData::TTAntiParallelDiodes);
|
||||
qcb->addItem(ElementData::translatedTerminalType(ElementData::TTResistor), ElementData::TTResistor);
|
||||
qcb->addItem(ElementData::translatedTerminalType(ElementData::TTVaristor), ElementData::TTVaristor);
|
||||
qcb->addItem(ElementData::translatedTerminalType(ElementData::TTTestSocket), ElementData::TTTestSocket);
|
||||
qcb->addItem(ElementData::translatedTerminalType(ElementData::TTDiodeReversed), ElementData::TTDiodeReversed);
|
||||
|
||||
return qcb;
|
||||
}
|
||||
|
||||
@@ -226,6 +226,10 @@ void ElementPropertiesEditorWidget::setUpInterface()
|
||||
ui->m_terminal_type_cb->addItem(tr("Diode"), ElementData::TTDiode);
|
||||
ui->m_terminal_type_cb->addItem(tr("Ground"), ElementData::TTGround);
|
||||
ui->m_terminal_type_cb->addItem(tr("Anti-parallel diodes"), ElementData::TTAntiParallelDiodes);
|
||||
ui->m_terminal_type_cb->addItem(tr("Resistor"), ElementData::TTResistor);
|
||||
ui->m_terminal_type_cb->addItem(tr("Varistor"), ElementData::TTVaristor);
|
||||
ui->m_terminal_type_cb->addItem(tr("Test socket"), ElementData::TTTestSocket);
|
||||
ui->m_terminal_type_cb->addItem(tr("Diode (reversed)"), ElementData::TTDiodeReversed);
|
||||
|
||||
ui->m_terminal_func_cb->addItem(tr("Generic"), ElementData::TFGeneric);
|
||||
ui->m_terminal_func_cb->addItem(tr("Phase"), ElementData::TFPhase);
|
||||
|
||||
@@ -842,6 +842,14 @@ QString ElementData::terminalTypeToString(ElementData::TerminalType type)
|
||||
return QStringLiteral("ground");
|
||||
case ElementData::TTAntiParallelDiodes:
|
||||
return QStringLiteral("antiparallel_diodes");
|
||||
case ElementData::TTResistor:
|
||||
return QStringLiteral("resistor");
|
||||
case ElementData::TTVaristor:
|
||||
return QStringLiteral("varistor");
|
||||
case ElementData::TTTestSocket:
|
||||
return QStringLiteral("test_socket");
|
||||
case ElementData::TTDiodeReversed:
|
||||
return QStringLiteral("diode_reversed");
|
||||
}
|
||||
return QStringLiteral("generic");
|
||||
}
|
||||
@@ -860,6 +868,14 @@ ElementData::TerminalType ElementData::terminalTypeFromString(const QString &str
|
||||
return ElementData::TTGround;
|
||||
} else if (string == QLatin1String("antiparallel_diodes")) {
|
||||
return ElementData::TTAntiParallelDiodes;
|
||||
} else if (string == QLatin1String("resistor")) {
|
||||
return ElementData::TTResistor;
|
||||
} else if (string == QLatin1String("varistor")) {
|
||||
return ElementData::TTVaristor;
|
||||
} else if (string == QLatin1String("test_socket")) {
|
||||
return ElementData::TTTestSocket;
|
||||
} else if (string == QLatin1String("diode_reversed")) {
|
||||
return ElementData::TTDiodeReversed;
|
||||
}
|
||||
|
||||
qDebug() << "ElementData::terminalTypeFromString : string : "
|
||||
@@ -883,6 +899,14 @@ QString ElementData::translatedTerminalType(ElementData::TerminalType type)
|
||||
return QObject::tr("Ground", "ground terminal element type");
|
||||
case ElementData::TTAntiParallelDiodes:
|
||||
return QObject::tr("Anti-parallel diodes", "anti-parallel diodes terminal element type");
|
||||
case ElementData::TTResistor:
|
||||
return QObject::tr("Resistor", "resistor terminal element type");
|
||||
case ElementData::TTVaristor:
|
||||
return QObject::tr("Varistor", "varistor terminal element type");
|
||||
case ElementData::TTTestSocket:
|
||||
return QObject::tr("Test socket", "test socket terminal element type");
|
||||
case ElementData::TTDiodeReversed:
|
||||
return QObject::tr("Diode (reversed)", "reversed diode terminal element type");
|
||||
}
|
||||
return QObject::tr("Generic", "generic terminal element type");
|
||||
}
|
||||
|
||||
@@ -176,7 +176,11 @@ class ElementData : public PropertiesInterface
|
||||
TTSectional,
|
||||
TTDiode,
|
||||
TTGround,
|
||||
TTAntiParallelDiodes
|
||||
TTAntiParallelDiodes,
|
||||
TTResistor,
|
||||
TTVaristor,
|
||||
TTTestSocket,
|
||||
TTDiodeReversed
|
||||
};
|
||||
Q_ENUM(TerminalType)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user