00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef TEXT_LOGGER_HH_
00020 #define TEXT_LOGGER_HH_
00021
00022
00023
00024
00025
00026 #include "python_interpreter.hh"
00027
00028 #include <QObject>
00029 #include <QTextStream>
00030
00031 namespace ost{namespace gui{
00032
00033 class DLLEXPORT_OST_GUI TextLogger:public QObject,public QTextStream
00034 {
00035 Q_OBJECT
00036 public:
00037 TextLogger();
00038 TextLogger( QIODevice * device );
00039 TextLogger( FILE * fileHandle, QIODevice::OpenMode openMode = QIODevice::ReadWrite );
00040 TextLogger( QString * String, QIODevice::OpenMode openMode = QIODevice::ReadWrite );
00041 TextLogger( const QByteArray & array, QIODevice::OpenMode openMode = QIODevice::ReadOnly );
00042 virtual ~TextLogger();
00043 void SetCodeLogging(bool flag);
00044 void SetOutputLogging(bool flag);
00045 void SetErrorLogging(bool flag);
00046 bool GetCodeLogging();
00047 bool GetOutputLogging();
00048 bool GetErrorLogging();
00049
00050 public slots:
00051 void AppendCode(const QString& text);
00052 void AppendOutput(unsigned int id,const QString& text);
00053
00054 protected:
00055 bool log_code_;
00056 bool log_output_;
00057 bool log_error_;
00058 };
00059
00060 }}
00061
00062 #endif