#include #include #include #include #include #include "GWt_sectionToExecute.h" #include "GWt_softwarePanel.h" GWt_sectionToExecute::GWt_sectionToExecute(Wt::WComboBox* first,Wt::WComboBox* last,Wt::WComboBox* soft,GWt_softwarePanel* sPanel) :WContainerWidget(), firstElement(first), lastElement(last), software(soft), softwarePanel(sPanel) { Wt::WGridLayout* mainContainerLayout = new Wt::WGridLayout(); mainContainerLayout->addWidget(new Wt::WText(" from : "),0,0); mainContainerLayout->addWidget(first,0,1); mainContainerLayout->addWidget(new Wt::WText(" to : "),0,2); mainContainerLayout->addWidget(last,0,3); mainContainerLayout->addWidget(soft,0,4); // add errors and warning layout warningsContainer_ = new Wt::WContainerWidget(); errorsContainer_ = new Wt::WContainerWidget(); Wt::WContainerWidget* warningsAndErrorsContainer = new Wt::WContainerWidget(); Wt::WVBoxLayout* vLayoutContainer = new Wt::WVBoxLayout(); vLayoutContainer->addWidget(warningsContainer_); vLayoutContainer->addWidget(errorsContainer_); vLayoutContainer->addStretch (100); Wt::WHBoxLayout* hLayoutContainerWarnings = new Wt::WHBoxLayout(); Wt::WHBoxLayout* hLayoutContainerErrors = new Wt::WHBoxLayout(); // fill containers Wt::WImage* imgWarning = new WImage ("/htdocs/warning.png"); Wt::WImage* imgError = new WImage ("/htdocs/error.png"); // resize images imgWarning->resize(20,20); imgError->resize(20,20); warningsLabel_ = new Wt::WLabel("--warnings---"); errorsLabel_ = new Wt::WLabel("---errors--"); hLayoutContainerWarnings->addWidget(imgWarning); hLayoutContainerWarnings->addWidget(warningsLabel_); hLayoutContainerErrors->addWidget(imgError); hLayoutContainerErrors->addWidget(errorsLabel_); warningsAndErrorsContainer->addWidget(warningsLabel_); warningsAndErrorsContainer->addWidget(errorsLabel_); // set Layouts warningsContainer_->setLayout(hLayoutContainerWarnings); errorsContainer_->setLayout(hLayoutContainerErrors); warningsAndErrorsContainer->setLayout(vLayoutContainer); // add warnings and errors containers mainContainerLayout->addWidget(warningsAndErrorsContainer,0,5,2,1); mainContainerLayout->addWidget(new WLabel("--"),1,1); this->setLayout(mainContainerLayout); firstElement->activated().connect(softwarePanel,&GWt_softwarePanel::updateSections); lastElement->activated().connect(softwarePanel,&GWt_softwarePanel::updateSections); software->activated().connect(softwarePanel,&GWt_softwarePanel::updateSections); } void GWt_sectionToExecute::setFirstElementCurrentSelection(Wt::WString txt){ for (int a=0; a< firstElement->count(); a++) { if (firstElement->itemText(a) == txt) { firstElement->setCurrentIndex (a); return; } } } void GWt_sectionToExecute::setLastElementCurrentSelection(Wt::WString txt){ for (int a=0; a< lastElement->count(); a++) { if (lastElement->itemText(a) == txt) { lastElement->setCurrentIndex (a); return; } } } void GWt_sectionToExecute::setSoftwareElementCurrentSelection(Wt::WString txt){ for (int a=0; a< software->count(); a++) { if (software->itemText(a) == txt) { software->setCurrentIndex (a); return; } } } void GWt_sectionToExecute::manageWarningsAndErrors(){ if (warningsLabel_->text() == "") { warningsContainer_->hide(); } else { warningsContainer_->show(); } if (errorsLabel_->text() == "") { errorsContainer_->hide(); } else { errorsContainer_->show(); } }