00001 #include "removecurvedialog.h" 00002 #include "ui_removecurvedialog.h" 00003 #include "plotwidget.h" 00004 #include <QDebug> 00005 #include "plotwidget.h" 00006 00007 RemoveCurveDialog::RemoveCurveDialog(PlotWidget *parent) : 00008 QDialog(parent), 00009 ui(new Ui::RemoveCurveDialog), 00010 _parent(parent) 00011 { 00012 ui->setupUi(this); 00013 } 00014 00015 RemoveCurveDialog::~RemoveCurveDialog() 00016 { 00017 delete ui; 00018 } 00019 00020 void RemoveCurveDialog::addCurveName(const QString &name, const QColor &color ) 00021 { 00022 QListWidgetItem* item = new QListWidgetItem( name ); 00023 item->setForeground(color); 00024 ui->listCurveWidget->addItem(item); 00025 } 00026 00027 void RemoveCurveDialog::on_pushButtonRemove_pressed() 00028 { 00029 auto selected_items = ui->listCurveWidget->selectedItems(); 00030 00031 for(const auto item: selected_items) 00032 { 00033 if( item->isHidden() == false) 00034 { 00035 _parent->removeCurve( item->text().toStdString() ); 00036 item->setHidden( true ); 00037 } 00038 } 00039 00040 if( ui->listCurveWidget->count() > 0) 00041 { 00042 _parent->replot(); 00043 } 00044 closeIfEmpty(); 00045 } 00046 00047 void RemoveCurveDialog::closeIfEmpty() 00048 { 00049 bool isEmpty = true; 00050 for(int index = 0; index <ui->listCurveWidget->count(); ++index) 00051 { 00052 QListWidgetItem* item = ui->listCurveWidget->item( index ); 00053 if( item->isHidden() == false) 00054 { 00055 isEmpty = false; 00056 break; 00057 } 00058 } 00059 if( isEmpty ) this->accept(); 00060 }