// %flair:license{ // This file is part of the Flair framework distributed under the // CECILL-C License, Version 1.0. // %flair:license} #include "CheckBox.h" #include "Layout.h" #include #include CheckBox::CheckBox(Layout* parent,int row, int col,QString name,bool value): FormLayout(parent,row,col,name,"CheckBox") { checkbox = new QCheckBox(); checkbox->setChecked(value); checkbox_value=value; object_layout->addRow(name,checkbox); connect(checkbox,SIGNAL(toggled(bool)),this, SLOT(valuechanged(bool))); if(checkbox_value==true) { SetValue("1"); } else { SetValue("0"); } } CheckBox::~CheckBox() { delete checkbox; } void CheckBox::SetUptodate(void) { ui_to_var(); ui_to_xml(); visible_widget->setPalette(black_pal); } void CheckBox::ui_to_var(void) { checkbox_value=checkbox->isChecked(); } void CheckBox::ui_to_xml(void) { if(checkbox->isChecked()==true) { SetValue("1"); } else { SetValue("0"); } } void CheckBox::Reset(void) { checkbox->setChecked(checkbox_value); } void CheckBox::LoadEvent(QDomElement dom) { if(checkbox->isEnabled()==true) { if(dom.attribute("value")==QString("1")) { checkbox->setChecked(true); } else { checkbox->setChecked(false); } } } void CheckBox::valuechanged(bool value) { if(value!=checkbox_value) { visible_widget->setPalette(red_pal); } else { visible_widget->setPalette(black_pal); } }