fixed browse to show in red when disabled browse button for receiver, got rid of error message showing,

git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorGui@140 af1100a4-978c-4157-bff7-07162d2ba061
This commit is contained in:
l_maliakal_d
2013-01-31 11:15:38 +00:00
parent 64208d5edd
commit 2ead554b7b
3 changed files with 80 additions and 15 deletions

View File

@ -9,6 +9,11 @@
#define QDEFS_H
#include "sls_detector_defs.h"
#include "error_defs.h"
#include "slsDetector.h"
#include "multiSlsDetector.h"
#include <string>
#include <ostream>
#include <iostream>
#include <QMessageBox>
using namespace std;
@ -172,6 +177,61 @@ static const int64_t GUI_VERSION=0x20121213;
YMAXIMUM
};
//-------------------------------------------------------------------------------------------------------------------------------------------------
/**checks 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;
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.append("</nobr>");
qDefs::Message(errorLevel,retval,"Main");
}
return retval;
};
//-------------------------------------------------------------------------------------------------------------------------------------------------
};

View File

@ -19,6 +19,7 @@
#include "multiSlsDetector.h"
#include "sls_detector_defs.h"
#include "svnInfoGui.h"
#include "error_defs.h"
// Qt Include Headers
#include <QSizePolicy>
#include <QFileDialog>
@ -299,16 +300,21 @@ void qDetectorMain::LoadConfigFile(const string fName){
else if (!S_ISREG (st_buf.st_mode))
qDefs::Message(qDefs::WARNING,string("<nobr>Start up configuration failed to load. The following file is not a recognized file format:</nobr><br><nobr>")+fName,"Main");
else{
//could not load config file
else if(myDet->readConfigurationFile(fName)==slsDetectorDefs::FAIL)
qDefs::Message(qDefs::INFORMATION,"<nobr>The Configuration Parameters have been loaded successfully at start up.</nobr>","Main");
if(myDet->readConfigurationFile(fName)==slsDetectorDefs::FAIL)
qDefs::Message(qDefs::WARNING,string("Could not load the Configuration Parameters from file:\n")+fName,"Main");
//successful
else
qDefs::Message(qDefs::INFORMATION,"<nobr>The Configuration Parameters have been loaded successfully at start up.</nobr>","Main");
qDefs::checkErrorMessage(myDet);
myDet->clearErrorMask();
}
}
//-------------------------------------------------------------------------------------------------------------------------------------------------
@ -534,7 +540,8 @@ void qDetectorMain::ExecuteUtilities(QAction *action){
//tab_developer->Refresh();
tab_plot->Refresh();
}
qDefs::checkErrorMessage(myDet);
myDet->clearErrorMask();
}

View File

@ -82,19 +82,17 @@ void qTabMessages::Initialization(){
//-------------------------------------------------------------------------------------------------------------------------------------------------
void qTabMessages::customEvent(QEvent *e) {
if (e->type() == (STREAMEVENT)){
QString temp = ((qStreamEvent*)e)->getString();
if (e->type() == (STREAMEVENT))
dispLog->append(((qStreamEvent*)e)->getString());
/* QString temp = ((qStreamEvent*)e)->getString();
dispLog->append(temp);
string t=string(temp.toAscii().constData());
if(t.find("not connect")!=string::npos)
qDefs::Message(qDefs::WARNING,errMsg+t+string("</font></nobr>"),"Messages");
else if(t.find("ould not")!=string::npos)
qDefs::Message(qDefs::WARNING,errMsg+t+string("</font></nobr>"),"Messages");
// dispLog->append(((qStreamEvent*)e)->getString());
}
*/
}
//-------------------------------------------------------------------------------------------------------------------------------------------------