From 2ead554b7b270302c5fdd89421d0560e31740541 Mon Sep 17 00:00:00 2001 From: l_maliakal_d Date: Thu, 31 Jan 2013 11:15:38 +0000 Subject: [PATCH] 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 --- slsDetectorGui/include/qDefs.h | 60 ++++++++++++++++++++++++++++ slsDetectorGui/src/qDetectorMain.cpp | 21 ++++++---- slsDetectorGui/src/qTabMessages.cpp | 14 +++---- 3 files changed, 80 insertions(+), 15 deletions(-) diff --git a/slsDetectorGui/include/qDefs.h b/slsDetectorGui/include/qDefs.h index 500c42bc3..614115073 100644 --- a/slsDetectorGui/include/qDefs.h +++ b/slsDetectorGui/include/qDefs.h @@ -9,6 +9,11 @@ #define QDEFS_H #include "sls_detector_defs.h" +#include "error_defs.h" +#include "slsDetector.h" +#include "multiSlsDetector.h" +#include +#include #include #include 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(""); + //check every sls detector + for(int i=0;igetNumberOfDetectors();i++){ + slsMask=0; + //if the detector has error + if(multiMask&(1<")); + //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("") + errorDefs::getErrorMessage(slsMask)+string("")); + //replace all \n with
+ pos = 0; + while((pos = retval.find("\n", pos)) != string::npos){ + retval.replace(pos, 1, "
"); + pos += 1; + } + } + } + retval.append("
"); + qDefs::Message(errorLevel,retval,"Main"); + } + return retval; + }; + + //------------------------------------------------------------------------------------------------------------------------------------------------- }; diff --git a/slsDetectorGui/src/qDetectorMain.cpp b/slsDetectorGui/src/qDetectorMain.cpp index 3b547adec..a4aa73381 100644 --- a/slsDetectorGui/src/qDetectorMain.cpp +++ b/slsDetectorGui/src/qDetectorMain.cpp @@ -19,6 +19,7 @@ #include "multiSlsDetector.h" #include "sls_detector_defs.h" #include "svnInfoGui.h" +#include "error_defs.h" // Qt Include Headers #include #include @@ -299,16 +300,21 @@ void qDetectorMain::LoadConfigFile(const string fName){ else if (!S_ISREG (st_buf.st_mode)) qDefs::Message(qDefs::WARNING,string("Start up configuration failed to load. The following file is not a recognized file format:
")+fName,"Main"); - //could not load config file - else if(myDet->readConfigurationFile(fName)==slsDetectorDefs::FAIL) - qDefs::Message(qDefs::INFORMATION,"The Configuration Parameters have been loaded successfully at start up.","Main"); + else{ + //could not load config file + 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,"The Configuration Parameters have been loaded successfully at start up.","Main"); - //successful - else - qDefs::Message(qDefs::INFORMATION,"The Configuration Parameters have been loaded successfully at start up.","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(); } diff --git a/slsDetectorGui/src/qTabMessages.cpp b/slsDetectorGui/src/qTabMessages.cpp index a519129a9..f826ba3b5 100644 --- a/slsDetectorGui/src/qTabMessages.cpp +++ b/slsDetectorGui/src/qTabMessages.cpp @@ -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()); - - + string t=string(temp.toAscii().constData()); if(t.find("not connect")!=string::npos) qDefs::Message(qDefs::WARNING,errMsg+t+string(""),"Messages"); else if(t.find("ould not")!=string::npos) qDefs::Message(qDefs::WARNING,errMsg+t+string(""),"Messages"); - - // dispLog->append(((qStreamEvent*)e)->getString()); - } +*/ } //-------------------------------------------------------------------------------------------------------------------------------------------------