#include #include #include #include #include "ColPairSwitch.h" using namespace std; ColourButton::ColourButton(const QString &text, QWidget *parent) : QPushButton(text, parent){ setMaximumSize(QSize(22, 22)); setAutoFillBackground(false); setStyleSheet(QString::fromUtf8("background-color: rgb(255, 0, 0);")); setCheckable(true); setAutoRepeat(false); setAutoExclusive(false); setDefault(false); setFlat(false); QObject::connect(this, SIGNAL(clicked()), this, SLOT(setState())); } ColourButton::~ColourButton(){ } void ColourButton::setState(){ if(isOn()) setStyleSheet(QString::fromUtf8("background-color: rgb(0, 255, 0);")); else setStyleSheet(QString::fromUtf8("background-color: rgb(255, 0, 0);")); } ColPairSwitch::ColPairSwitch(QWidget* parent, Qt::WFlags fl, int nButtons) : QDialog(parent,fl), m_nButtons(nButtons){ setupUi(this); QObject::connect(allOnButton, SIGNAL(clicked()), this, SLOT(allOn())); QObject::connect(allOffButton, SIGNAL(clicked()), this, SLOT(allOff())); for(int i=0;isetObjectName(QString::fromUtf8("PushButton_"+QString::number(i+1))); hboxLayout->addWidget(m_buttons[i]); } } ColPairSwitch::~ColPairSwitch(){ } void ColPairSwitch::allOff(){ for(int i=0;isetOn(false); m_buttons[i]->setState(); } } void ColPairSwitch::allOn(){ for(int i=0;isetOn(true); m_buttons[i]->setState(); } }