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 #define QDEFS_H
#include "sls_detector_defs.h" #include "sls_detector_defs.h"
#include "error_defs.h"
#include "slsDetector.h" #include "slsDetector.h"
#include "multiSlsDetector.h" #include "multiSlsDetector.h"
#include <string> #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 * @param myDet is the multidetector object
/returns error message else an empty string /returns error message else an empty string
* */ * */
static string checkErrorMessage(multiSlsDetector*& myDet){ static string checkErrorMessage(multiSlsDetector*& myDet){
int multiMask,slsMask=0;
MessageIndex errorLevel= WARNING; int errorLevel= (int)WARNING;
slsDetector *det;
string retval=""; string retval="";
char sNumber[100];
size_t pos; size_t pos;
//multidetector error mask
multiMask = myDet->getErrorMask(); retval = myDet->getErrorMessage(errorLevel);
if(multiMask){
retval.append("<nobr>"); if(!retval.empty()){
//check every sls detector
for(int i=0;i<myDet->getNumberOfDetectors();i++){ //replace all \n with <br>
slsMask=0; pos = 0;
//if the detector has error while((pos = retval.find("\n", pos)) != string::npos){
if(multiMask&(1<<i)){ retval.replace(pos, 1, "<br>");
//append detector id pos += 1;
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.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; return retval;
}; };

View File

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