44 lines
977 B
C++
44 lines
977 B
C++
#include "ToggleButton.h"
|
|
|
|
#include <QGraphicsSceneMouseEvent>
|
|
|
|
ToggleButton::ToggleButton(Logic* logic)
|
|
:Part(logic, Circle)
|
|
{
|
|
addInputs(0);
|
|
addOutputs(1);
|
|
recalculateLayout();
|
|
m_brushColorNormal = Qt::GlobalColor::red;
|
|
m_brushColorSelected = Qt::GlobalColor::red;
|
|
}
|
|
|
|
QVector<bool> ToggleButton::compute(QVector<bool> inputs)
|
|
{
|
|
QVector<bool> ret(1);
|
|
ret[0] = m_toggleState;
|
|
return ret;
|
|
}
|
|
|
|
QPainterPath ToggleButton::symbolPainterPath(QRect limits)
|
|
{
|
|
Q_UNUSED(limits)
|
|
return QPainterPath();
|
|
}
|
|
|
|
void ToggleButton::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event)
|
|
{
|
|
m_toggleState = !m_toggleState;
|
|
if(m_toggleState)
|
|
{
|
|
m_brushColorNormal = Qt::GlobalColor::darkRed;
|
|
m_brushColorSelected = Qt::GlobalColor::darkRed;
|
|
}
|
|
else
|
|
{
|
|
m_brushColorNormal = Qt::GlobalColor::red;
|
|
m_brushColorSelected = Qt::GlobalColor::red;
|
|
}
|
|
update();
|
|
Part::mouseDoubleClickEvent(event);
|
|
}
|