Add saveable labels for parts and connectors
This commit is contained in:
@@ -7,6 +7,7 @@ AndGate::AndGate(Logic* logic)
|
||||
{
|
||||
addInputs(2);
|
||||
addOutputs(1);
|
||||
setLabel("And Gate");
|
||||
recalculateLayout();
|
||||
}
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ BufferGate::BufferGate(Logic* logic)
|
||||
{
|
||||
addInputs(1);
|
||||
addOutputs(1);
|
||||
setLabel("Buffer Gate");
|
||||
recalculateLayout();
|
||||
}
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ HighConstant::HighConstant(Logic* logic)
|
||||
{
|
||||
addInputs(0);
|
||||
addOutputs(1);
|
||||
setLabel("High Constant");
|
||||
recalculateLayout();
|
||||
m_brushColorNormal = Qt::GlobalColor::green;
|
||||
m_brushColorSelected = Qt::GlobalColor::green;
|
||||
@@ -14,6 +15,7 @@ HighConstant::HighConstant(Logic* logic)
|
||||
|
||||
QVector<bool> HighConstant::compute(QVector<bool> inputs)
|
||||
{
|
||||
Q_UNUSED(inputs)
|
||||
QVector<bool> ret(1);
|
||||
ret[0] = true;
|
||||
return ret;
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
#include "IntegratedCircuit.h"
|
||||
|
||||
#include <QFileInfo>
|
||||
|
||||
#include "../Scene.h"
|
||||
#include "../Logic.h"
|
||||
#include "../Connector.h"
|
||||
#include "ToggleButton.h"
|
||||
#include "LightBulb.h"
|
||||
|
||||
@@ -30,7 +33,14 @@ IntegratedCircuit::IntegratedCircuit(Logic* logic, QString filename)
|
||||
std::sort(m_icLogicInputs.begin(), m_icLogicInputs.end(), compareToggleButtons);
|
||||
std::sort(m_icLogicOutputs.begin(), m_icLogicOutputs.end(), compareLightBulbs);
|
||||
|
||||
setLabel(QFileInfo(m_filename).fileName());
|
||||
recalculateLayout();
|
||||
|
||||
// Give all connectors labels according to those of the buttons/lamps of the IC logic
|
||||
for(int i = 0; i < m_inputs.length(); i++)
|
||||
m_inputs[i]->setLabel(m_icLogicInputs[i]->label());
|
||||
for(int i = 0; i < m_outputs.length(); i++)
|
||||
m_outputs[i]->setLabel(m_icLogicOutputs[i]->label());
|
||||
}
|
||||
|
||||
QString IntegratedCircuit::filename()
|
||||
|
||||
@@ -7,6 +7,7 @@ LightBulb::LightBulb(Logic* logic)
|
||||
{
|
||||
addInputs(1);
|
||||
addOutputs(0);
|
||||
setLabel("Light Bulb");
|
||||
recalculateLayout();
|
||||
m_brushColorNormal = Qt::GlobalColor::black;
|
||||
m_brushColorSelected = Qt::GlobalColor::black;
|
||||
|
||||
@@ -7,6 +7,7 @@ LowConstant::LowConstant(Logic* logic)
|
||||
{
|
||||
addInputs(0);
|
||||
addOutputs(1);
|
||||
setLabel("Low Constant");
|
||||
recalculateLayout();
|
||||
m_brushColorNormal = Qt::GlobalColor::black;
|
||||
m_brushColorSelected = Qt::GlobalColor::black;
|
||||
@@ -14,6 +15,7 @@ LowConstant::LowConstant(Logic* logic)
|
||||
|
||||
QVector<bool> LowConstant::compute(QVector<bool> inputs)
|
||||
{
|
||||
Q_UNUSED(inputs)
|
||||
QVector<bool> ret(1);
|
||||
ret[0] = false;
|
||||
return ret;
|
||||
|
||||
@@ -7,6 +7,7 @@ NandGate::NandGate(Logic* logic)
|
||||
{
|
||||
addInputs(2);
|
||||
addOutputs(1);
|
||||
setLabel("Nand Gate");
|
||||
recalculateLayout();
|
||||
}
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ NorGate::NorGate(Logic* logic)
|
||||
{
|
||||
addInputs(2);
|
||||
addOutputs(1);
|
||||
setLabel("Nor Gate");
|
||||
recalculateLayout();
|
||||
}
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ NotGate::NotGate(Logic* logic)
|
||||
{
|
||||
addInputs(1);
|
||||
addOutputs(1);
|
||||
setLabel("Not Gate");
|
||||
recalculateLayout();
|
||||
}
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ OrGate::OrGate(Logic* logic)
|
||||
{
|
||||
addInputs(2);
|
||||
addOutputs(1);
|
||||
setLabel("Or Gate");
|
||||
recalculateLayout();
|
||||
}
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ ToggleButton::ToggleButton(Logic* logic)
|
||||
{
|
||||
addInputs(0);
|
||||
addOutputs(1);
|
||||
setLabel("Toggle Button");
|
||||
recalculateLayout();
|
||||
m_brushColorNormal = Qt::GlobalColor::red;
|
||||
m_brushColorSelected = Qt::GlobalColor::red;
|
||||
@@ -14,6 +15,7 @@ ToggleButton::ToggleButton(Logic* logic)
|
||||
|
||||
QVector<bool> ToggleButton::compute(QVector<bool> inputs)
|
||||
{
|
||||
Q_UNUSED(inputs)
|
||||
QVector<bool> ret(1);
|
||||
ret[0] = m_toggleState;
|
||||
return ret;
|
||||
|
||||
@@ -7,6 +7,7 @@ XnorGate::XnorGate(Logic* logic)
|
||||
{
|
||||
addInputs(2);
|
||||
addOutputs(1);
|
||||
setLabel("Xnor Gate");
|
||||
recalculateLayout();
|
||||
}
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ XorGate::XorGate(Logic* logic)
|
||||
{
|
||||
addInputs(2);
|
||||
addOutputs(1);
|
||||
setLabel("Xor Gate");
|
||||
recalculateLayout();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user