diff --git a/slsDetectorGui/include/qDebugStream.h b/slsDetectorGui/include/qDebugStream.h index f04072d0f..bfbdf0524 100644 --- a/slsDetectorGui/include/qDebugStream.h +++ b/slsDetectorGui/include/qDebugStream.h @@ -15,7 +15,6 @@ #include #include #include -#include #include #include @@ -30,9 +29,9 @@ using namespace std; class qStreamEvent:public QEvent{ public: - qStreamEvent(QString s):QEvent(static_cast(STREAMEVENT)) {str=s;}; + qStreamEvent(QString s):QEvent(static_cast(STREAMEVENT)),str(s){} /** \returns the progress index */ - QString getString() {return str;}; + QString getString() {return str;} private: QString str; @@ -43,27 +42,18 @@ private: class qDebugStream : public basic_streambuf { public: - qDebugStream(ostream &stream, ostream &estream, QWidget* w) : m_stream(stream), e_stream(estream), log_window(w) { + qDebugStream(ostream &stream, QWidget* w) : m_stream(stream), log_window(w) { m_old_buf = stream.rdbuf(); stream.rdbuf(this); - //e_old_buf = stream.rdbuf(); - //estream.rdbuf(this); - - }; + } //------------------------------------------------------------------------------------------------------------------------------------------------- ~qDebugStream(){ // output anything that is left - if (!m_string.empty()) { - qStreamEvent *ce=new qStreamEvent(m_string.c_str()); - QApplication::postEvent(log_window, ce); -#ifdef VERBOSE - cerr << m_string << endl; -#endif - } + if (!m_string.empty()) + QApplication::postEvent(log_window, new qStreamEvent(m_string.c_str())); m_stream.rdbuf(m_old_buf); - e_stream.rdbuf(e_old_buf); } //------------------------------------------------------------------------------------------------------------------------------------------------- @@ -71,11 +61,7 @@ public: protected: virtual int_type overflow(int_type v){ if (v == '\n'){ - qStreamEvent *ce=new qStreamEvent(m_string.c_str()); - QApplication::postEvent(log_window, ce); -#ifdef VERBOSE - cerr << m_string << endl; -#endif + QApplication::postEvent(log_window, new qStreamEvent(m_string.c_str())); m_string.erase(m_string.begin(), m_string.end()); } else @@ -90,17 +76,11 @@ protected: //changed from uint because of 64 bit int pos = 0; - while (pos != string::npos) - { + while (pos != string::npos){ pos = m_string.find('\n'); - if (pos != string::npos) - { + if (pos != string::npos){ string tmp(m_string.begin(), m_string.begin() + pos); - qStreamEvent *ce=new qStreamEvent(tmp.c_str()); - QApplication::postEvent(log_window, ce); -#ifdef VERBOSE - cerr << tmp << endl; -#endif + QApplication::postEvent(log_window, new qStreamEvent(tmp.c_str())); m_string.erase(m_string.begin(), m_string.begin() + pos + 1); } } @@ -112,8 +92,6 @@ protected: private: ostream &m_stream; streambuf *m_old_buf; - ostream &e_stream; - streambuf *e_old_buf; string m_string; QWidget* log_window; }; diff --git a/slsDetectorGui/include/qTabMessages.h b/slsDetectorGui/include/qTabMessages.h index 146fde006..12a1e6759 100644 --- a/slsDetectorGui/include/qTabMessages.h +++ b/slsDetectorGui/include/qTabMessages.h @@ -55,7 +55,7 @@ private: /** This class creates the log */ qDebugStream *qout; - //qDebugStream *qerr; + qDebugStream *qerr; /** methods */ /** Sets up the widget */ diff --git a/slsDetectorGui/src/qTabMessages.cpp b/slsDetectorGui/src/qTabMessages.cpp index d7fc43473..cb80031c2 100644 --- a/slsDetectorGui/src/qTabMessages.cpp +++ b/slsDetectorGui/src/qTabMessages.cpp @@ -24,7 +24,7 @@ using namespace std; //------------------------------------------------------------------------------------------------------------------------------------------------- -qTabMessages::qTabMessages(QWidget *parent,multiSlsDetector* detector):QWidget(parent),qout(0){//myDet(detector), +qTabMessages::qTabMessages(QWidget *parent,multiSlsDetector* detector):QWidget(parent),qout(0),qerr(0){//myDet(detector), myDet=detector; SetupWidgetWindow(); Initialization(); @@ -36,6 +36,7 @@ qTabMessages::~qTabMessages(){ // delete myDet; delete dispLog; delete qout; + delete qerr; } //------------------------------------------------------------------------------------------------------------------------------------------------- @@ -65,11 +66,9 @@ void qTabMessages::SetupWidgetWindow(){ gridLayout->addItem(new QSpacerItem(15,10,QSizePolicy::Fixed,QSizePolicy::Fixed),2,0); gridLayout->addWidget(dispLog,3,0,1,5); - qout=new qDebugStream(cout,cerr, this); - //qerr=new qDebugStream(cerr,this); + qout=new qDebugStream(std::cout,this); + qerr=new qDebugStream(std::cerr,this); - //qerr=NULL; - //qerr=new qDebugStream(std::cerr,this);cout<<"worked!"<type() == STREAMEVENT) - dispLog->append(((qStreamEvent*)e)->getString()); + if (e->type() == (STREAMEVENT)){ + 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,string("Caught following message:\n\n")+t,"Messages"); + else if(t.find("ould not")!=string::npos) + qDefs::Message(qDefs::WARNING,string("Caught following message:\n\n")+t,"Messages"); + + // dispLog->append(((qStreamEvent*)e)->getString()); + } } //-------------------------------------------------------------------------------------------------------------------------------------------------