added error mask properly inherited by base; mask exist only for cannot connect to detector, receiver and could not configure mac

git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorGui@143 af1100a4-978c-4157-bff7-07162d2ba061
This commit is contained in:
l_maliakal_d 2013-02-06 15:23:35 +00:00
parent 1d1e5e1202
commit aec136cf21
2 changed files with 22 additions and 43 deletions

View File

@ -9,7 +9,6 @@
#define QDEFS_H
#include "sls_detector_defs.h"
#include "error_defs.h"
#include "slsDetector.h"
#include "multiSlsDetector.h"
#include <string>
@ -179,55 +178,36 @@ static const int64_t GUI_VERSION=0x20121213;
//-------------------------------------------------------------------------------------------------------------------------------------------------
/**checks error mask and displays the message if it exists
/**gets error mask and displays the message if it exists
* @param myDet is the multidetector object
/returns error message else an empty string
* */
static string checkErrorMessage(multiSlsDetector*& myDet){
int multiMask,slsMask=0;
MessageIndex errorLevel= WARNING;
slsDetector *det;
int errorLevel= (int)WARNING;
string retval="";
char sNumber[100];
size_t pos;
//multidetector error mask
multiMask = myDet->getErrorMask();
if(multiMask){
retval.append("<nobr>");
//check every sls detector
for(int i=0;i<myDet->getNumberOfDetectors();i++){
slsMask=0;
//if the detector has error
if(multiMask&(1<<i)){
//append detector id
sprintf(sNumber,"%d",i);
retval.append("Detector " + string(sNumber)+string(":<br>"));
//get sls det error mask
det = myDet->getSlsDetector(i);
slsMask=det->getErrorMask();
#ifdef VERYVERBOSE
//append sls det error mask
sprintf(sNumber,"0x%x",slsMask);
retval.append("Error Mask " + string(sNumber)+string("\n"));
#endif
//get the error critical level
if((slsMask>0xFFFF)|errorLevel)
errorLevel = CRITICAL;
//append error message
retval.append(string("<font color=\"darkBlue\">") + errorDefs::getErrorMessage(slsMask)+string("</font>"));
//replace all \n with <br>
pos = 0;
while((pos = retval.find("\n", pos)) != string::npos){
retval.replace(pos, 1, "<br>");
pos += 1;
}
}
retval = myDet->getErrorMessage(errorLevel);
if(!retval.empty()){
//replace all \n with <br>
pos = 0;
while((pos = retval.find("\n", pos)) != string::npos){
retval.replace(pos, 1, "<br>");
pos += 1;
}
retval.append("</nobr>");
qDefs::Message(errorLevel,retval,"Main");
retval.insert(0,"<font color=\"darkBlue\">");
retval.append("</font></nobr>");
//display message
qDefs::Message((MessageIndex)errorLevel,retval,"Main");
}
return retval;
};

View File

@ -19,7 +19,6 @@
#include "multiSlsDetector.h"
#include "sls_detector_defs.h"
#include "svnInfoGui.h"
#include "error_defs.h"
// Qt Include Headers
#include <QSizePolicy>
#include <QFileDialog>
@ -234,9 +233,9 @@ void qDetectorMain::SetUpDetector(const string fName){
}
setWindowTitle("SLS Detector GUI : "+
QString(slsDetectorBase::getDetectorType(detType).c_str())+ " - "+QString(host.c_str()));
#ifdef VERBOSE
//#ifdef VERBOSE
cout << endl << "Type : " << slsDetectorBase::getDetectorType(detType) << "\nDetector : " << host << endl;
#endif
//#endif
myDet->setOnline(slsDetectorDefs::ONLINE_FLAG);
}