output dir multi for all

This commit is contained in:
Dhanya Maliakal 2015-10-26 11:31:56 +01:00
parent 73ebb2750c
commit da809171e9

View File

@ -129,11 +129,11 @@ void qTabDataOutput::SetupWidgetWindow(){
chkDiscardBad->setChecked(false); chkDiscardBad->setChecked(false);
connect(chkDiscardBad, SIGNAL(toggled(bool)), this, SLOT(DiscardBadChannels())); connect(chkDiscardBad, SIGNAL(toggled(bool)), this, SLOT(DiscardBadChannels()));
/*
if(detType == slsDetectorDefs::MYTHEN){ if(detType == slsDetectorDefs::MYTHEN){
comboDetector->hide(); comboDetector->hide();
} }
*/
qDefs::checkErrorMessage(myDet,"qTabDataOutput::SetupWidgetWindow"); qDefs::checkErrorMessage(myDet,"qTabDataOutput::SetupWidgetWindow");
} }
@ -492,14 +492,10 @@ void qTabDataOutput::PopulateDetectors(){
cout << "Populating detectors" << endl; cout << "Populating detectors" << endl;
#endif #endif
comboDetector->clear(); comboDetector->clear();
if(myDet->setReceiverOnline() == slsDetectorDefs::OFFLINE_FLAG){
boxOutDir->setTitle("Output Directory");
comboDetector->addItem("All"); comboDetector->addItem("All");
} boxOutDir->setTitle("Output Directory");
//add specific detector options only if more than 1 detector
//if receiver, add detectors if(myDet->getNumberOfDetectors()>1){
else{
boxOutDir->setTitle("Receiver Output Directory");
for(int i=0;i<myDet->getNumberOfDetectors();i++) for(int i=0;i<myDet->getNumberOfDetectors();i++)
comboDetector->addItem(QString(myDet->getHostname(i).c_str())); comboDetector->addItem(QString(myDet->getHostname(i).c_str()));
} }
@ -514,11 +510,13 @@ void qTabDataOutput::GetOutputDir(){
#ifdef VERBOSE #ifdef VERBOSE
cout << "Getting output directory" << endl; cout << "Getting output directory" << endl;
#endif #endif
//all
if(!comboDetector->itemText(0).compare("All")){ if(!comboDetector->currentIndex())
dispReadOutputDir->setText(QString(myDet->getFilePath().c_str())); dispReadOutputDir->setText(QString(myDet->getFilePath().c_str()));
}else{
slsDetector *det = myDet->getSlsDetector(comboDetector->currentIndex()); //specific
else{
slsDetector *det = myDet->getSlsDetector(comboDetector->currentIndex()-1);
qDefs::checkErrorMessage(myDet,"qTabDataOutput::GetOutputDir"); qDefs::checkErrorMessage(myDet,"qTabDataOutput::GetOutputDir");
dispReadOutputDir->setText(QString(det->getFilePath().c_str())); dispReadOutputDir->setText(QString(det->getFilePath().c_str()));
} }
@ -543,8 +541,8 @@ int qTabDataOutput::VerifyOutputDirectory(){
#endif #endif
bool error = false; bool error = false;
QString errTip = outDirTip; QString errTip = outDirTip;
bool receiver = (comboDetector->itemText(0).compare("All")); string path = "";
string path = string(dispReadOutputDir->text().toAscii().constData()); string inputpath = string(dispReadOutputDir->text().toAscii().constData());
string detName = ""; string detName = "";
string mess = ""; string mess = "";
@ -552,11 +550,13 @@ int qTabDataOutput::VerifyOutputDirectory(){
for(int i=0;i<myDet->getNumberOfDetectors();i++){ for(int i=0;i<myDet->getNumberOfDetectors();i++){
slsDetector *det = myDet->getSlsDetector(i); slsDetector *det = myDet->getSlsDetector(i);
qDefs::checkErrorMessage(myDet,"qTabDataOutput::VerifyOutputDirectory"); qDefs::checkErrorMessage(myDet,"qTabDataOutput::VerifyOutputDirectory");
if(receiver){ detName = string("\n - ") + string(comboDetector->itemText(i+1).toAscii().constData());
detName = string("\n - ") + string(comboDetector->itemText(i).toAscii().constData()) ; if(!comboDetector->currentIndex())
path = inputpath;
else
path = det->getFilePath(); path = det->getFilePath();
}
//verify if specific outdir works for each det
if(det->setFilePath(path).empty()){ if(det->setFilePath(path).empty()){
mess. append(detName); mess. append(detName);
error = true; error = true;
@ -570,13 +570,15 @@ int qTabDataOutput::VerifyOutputDirectory(){
error = true; error = true;
qDefs::Message(qDefs::WARNING,string("Enter a valid output directory ") + detName,"Data Output Verify"); qDefs::Message(qDefs::WARNING,string("Enter a valid output directory ") + detName,"Data Output Verify");
}*/ }*/
myDet->setFilePath(det->getFilePath()); //myDet->setFilePath(det->getFilePath());
} }
//set the read output dir anyway //set the read output dir text anyway
if(receiver) //specific
path = myDet->getSlsDetector(comboDetector->currentIndex())->getFilePath(); if(comboDetector->currentIndex())
path = myDet->getSlsDetector(comboDetector->currentIndex()-1)->getFilePath();
//all
else else
path = myDet->getFilePath(); path = myDet->getFilePath();
dispReadOutputDir->setText(QString(path.c_str())); dispReadOutputDir->setText(QString(path.c_str()));
@ -602,10 +604,6 @@ int qTabDataOutput::VerifyOutputDirectory(){
"Invalid <b>Output Directory</b>") + QString(mess.c_str()) + "Invalid <b>Output Directory</b>") + QString(mess.c_str()) +
QString( ".</font></nobr>"); QString( ".</font></nobr>");
boxOutDir->setToolTip(errTip); boxOutDir->setToolTip(errTip);
if(receiver)
boxOutDir->setTitle("Receiver Output Directory*");
else
boxOutDir->setTitle("Output Directory*"); boxOutDir->setTitle("Output Directory*");
return slsDetectorDefs::FAIL; return slsDetectorDefs::FAIL;
@ -619,10 +617,6 @@ int qTabDataOutput::VerifyOutputDirectory(){
dispReadOutputDir->setPalette(*black1); dispReadOutputDir->setPalette(*black1);
boxOutDir->setPalette(black); boxOutDir->setPalette(black);
boxOutDir->setToolTip(outDirTip); boxOutDir->setToolTip(outDirTip);
if(receiver)
boxOutDir->setTitle("Receiver Output Directory");
else
boxOutDir->setTitle("Output Directory"); boxOutDir->setTitle("Output Directory");
} }
@ -641,7 +635,6 @@ void qTabDataOutput::SetOutputDir(){
#endif #endif
bool error = false; bool error = false;
bool receiver = (comboDetector->itemText(0).compare("All"));
QString path = dispOutputDir->text(); QString path = dispOutputDir->text();
if(path.isEmpty()) if(path.isEmpty())
@ -654,45 +647,29 @@ void qTabDataOutput::SetOutputDir(){
while(path.endsWith('/')) path.chop(1); while(path.endsWith('/')) path.chop(1);
dispOutputDir->setText(path); dispOutputDir->setText(path);
//specific
if(receiver){ if(comboDetector->currentIndex()){
slsDetector *det = myDet->getSlsDetector(comboDetector->currentIndex()); slsDetector *det = myDet->getSlsDetector(comboDetector->currentIndex()-1);
qDefs::checkErrorMessage(myDet,"qTabDataOutput::SetOutputDir"); qDefs::checkErrorMessage(myDet,"qTabDataOutput::SetOutputDir");
det->setFilePath(string(dispOutputDir->text().toAscii().constData())); det->setFilePath(string(dispOutputDir->text().toAscii().constData()));
//if error, set it to what it was set before
if(!qDefs::checkErrorMessage(det,"qTabDataOutput::SetOutputDir").empty()){ if(!qDefs::checkErrorMessage(det,"qTabDataOutput::SetOutputDir").empty()){
#ifdef VERBOSE #ifdef VERBOSE
cout << "The output path could not be set" << endl; cout << "The output path could not be set" << endl;
#endif #endif
det->setFilePath(string(dispReadOutputDir->text().toAscii().constData())); det->setFilePath(string(dispReadOutputDir->text().toAscii().constData()));
dispReadOutputDir->setText(QString(det->getFilePath().c_str()));
error = true; error = true;
dispOutputDir->setPalette(*red1);
} }
myDet->setFilePath(det->getFilePath());
} }
else{ else{
//for each detector if(myDet->setFilePath(string(path.toAscii().constData())).empty())
for(int i=0;i<myDet->getNumberOfDetectors();i++){
slsDetector *det = myDet->getSlsDetector(i);
qDefs::checkErrorMessage(myDet,"qTabDataOutput::SetOutputDir");
if(det->setFilePath(string(path.toAscii().constData())).empty()){
error = true; error = true;
}else if(!qDefs::checkErrorMessage(det,"qTabDataOutput::SetOutputDir",false).empty()){ else if(!qDefs::checkErrorMessage(myDet,"qTabDataOutput::SetOutputDir").empty())
error = true; error = true;
} myDet->setFilePath(string(dispReadOutputDir->text().toAscii().constData()));
myDet->setFilePath(det->getFilePath());
}
if(error){
qDefs::Message(qDefs::WARNING,string("Invalid output directory "),"qTabDataOutput::SetOutputDir");
for(int i=0;i<myDet->getNumberOfDetectors();i++){
slsDetector *det = myDet->getSlsDetector(i);
qDefs::checkErrorMessage(myDet,"qTabDataOutput::SetOutputDir");
det->setFilePath(string(dispReadOutputDir->text().toAscii().constData()));
}
}
dispReadOutputDir->setText(QString(myDet->getFilePath().c_str())); dispReadOutputDir->setText(QString(myDet->getFilePath().c_str()));
} }
@ -711,7 +688,7 @@ void qTabDataOutput::SetOutputDir(){
dispOutputDir->setPalette(*black1); dispOutputDir->setPalette(*black1);
dispReadOutputDir->setText(dispOutputDir->text()); dispReadOutputDir->setText(dispOutputDir->text());
dispOutputDir->setText(""); dispOutputDir->setText("");
VerifyOutputDirectory(); //VerifyOutputDirectory();
} }