QTfrontend/togglebutton.cpp
changeset 2948 3f21a9dc93d0
parent 2377 f3fab2b09e0c
child 3061 e129e4c3f30e
equal deleted inserted replaced
2947:803b277e4894 2948:3f21a9dc93d0
    18 
    18 
    19 #include "togglebutton.h"
    19 #include "togglebutton.h"
    20 
    20 
    21 ToggleButtonWidget::ToggleButtonWidget(QWidget * parent, QString img)
    21 ToggleButtonWidget::ToggleButtonWidget(QWidget * parent, QString img)
    22 {
    22 {
    23 	QVBoxLayout * l = new QVBoxLayout(this);
    23     QVBoxLayout * l = new QVBoxLayout(this);
    24 	setLayout(l);
    24     setLayout(l);
    25 
    25 
    26 	pbMain = new QPushButton(this);
    26     pbMain = new QPushButton(this);
    27 	pbMain->setCheckable(true);
    27     pbMain->setCheckable(true);
    28 
    28 
    29 	QPixmap pm(":/res/btnDisabled.png");
    29     QPixmap pm(":/res/btnDisabled.png");
    30 	QPainter * painter = new QPainter();
    30     QPainter * painter = new QPainter();
    31 
    31 
    32 	pmChecked.load(img);
    32     pmChecked.load(img);
    33 	pmDisabled.load(img);
    33     pmDisabled.load(img);
    34 
    34 
    35 	pbMain->setMaximumWidth(pmChecked.width() + 6);
    35     pbMain->setMaximumWidth(pmChecked.width() + 6);
    36 
    36 
    37 	l->addWidget(pbMain);
    37     l->addWidget(pbMain);
    38 
    38 
    39 	painter->begin(&pmDisabled);
    39     painter->begin(&pmDisabled);
    40 	painter->drawPixmap(pmDisabled.rect(), pm);
    40     painter->drawPixmap(pmDisabled.rect(), pm);
    41 	painter->end();
    41     painter->end();
    42 
    42 
    43 	pbMain->setIconSize(pmDisabled.size());
    43     pbMain->setIconSize(pmDisabled.size());
    44 	pbMain->setIcon(pmDisabled);
    44     pbMain->setIcon(pmDisabled);
    45 
    45 
    46 	connect(pbMain, SIGNAL(toggled(bool)), this, SLOT(eventToggled(bool)));
    46     connect(pbMain, SIGNAL(toggled(bool)), this, SLOT(eventToggled(bool)));
    47 
    47 
    48 	lbMain = new QLabel(this);
    48     lbMain = new QLabel(this);
    49 	lbMain->setWordWrap(true);
    49     lbMain->setWordWrap(true);
    50 //	lbMain->setFixedHeight(32);
    50 //  lbMain->setFixedHeight(32);
    51 
    51 
    52 	l->addWidget(lbMain);
    52     l->addWidget(lbMain);
    53 }
    53 }
    54 
    54 
    55 ToggleButtonWidget::~ToggleButtonWidget()
    55 ToggleButtonWidget::~ToggleButtonWidget()
    56 {
    56 {
    57 	delete pbMain;
    57     delete pbMain;
    58 	delete lbMain;
    58     delete lbMain;
    59 }
    59 }
    60 
    60 
    61 bool ToggleButtonWidget::isChecked()
    61 bool ToggleButtonWidget::isChecked()
    62 {
    62 {
    63 	return pbMain->isChecked();
    63     return pbMain->isChecked();
    64 }
    64 }
    65 
    65 
    66 void ToggleButtonWidget::setChecked(bool checked)
    66 void ToggleButtonWidget::setChecked(bool checked)
    67 {
    67 {
    68 	pbMain->setChecked(checked);
    68     pbMain->setChecked(checked);
    69 }
    69 }
    70 
    70 
    71 void ToggleButtonWidget::setText(QString s)
    71 void ToggleButtonWidget::setText(QString s)
    72 {
    72 {
    73 	lbMain->setText(s);
    73     lbMain->setText(s);
    74 }
    74 }
    75 
    75 
    76 void ToggleButtonWidget::eventToggled(bool checked)
    76 void ToggleButtonWidget::eventToggled(bool checked)
    77 {
    77 {
    78 	if (checked) pbMain->setIcon(pmChecked); else pbMain->setIcon(pmDisabled);
    78     if (checked) pbMain->setIcon(pmChecked); else pbMain->setIcon(pmDisabled);
    79 }
    79 }