Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

TraceManager.h

Go to the documentation of this file.
00001 #ifndef TRACEMANAGER_H 00002 #define TRACEMANAGER_H 00003 00004 #include <qdict.h> 00005 #include <qdom.h> 00006 #include <qlist.h> 00007 #include <qlistview.h> 00008 #include <qstring.h> 00009 00010 #include "TraceWindow.h" 00011 #include "TraceModule.h" 00012 00013 class CTraceManager: public QObject 00014 { 00015 Q_OBJECT 00016 friend class CTraceModule; 00017 private: 00018 QDomElement m_ModulesNode; 00019 00020 CTraceWindowDlg *m_pWindow; 00021 QDict<CTraceModule> m_Modules; 00022 CTraceModule *m_pSelectedModule; 00023 00024 int m_Indent; 00025 QString m_IndentString; 00026 QStringList m_FullText; 00027 bool m_ResetText; 00028 00029 bool m_Visible; 00030 bool m_Mute; 00031 bool m_Output; 00032 bool m_CatchQDebug, m_CatchQWarning; 00033 bool m_AppendToFile; 00034 QString m_LogFileName; 00035 00036 void OpenLog(); 00037 void CloseLog(); 00038 00039 static void MessageHandler(QtMsgType type, const char *msg); 00040 00041 protected: 00042 CTraceManager(); 00043 00044 void IncIndent(); 00045 void DecIndent(); 00046 00047 protected slots: 00048 void ClickedListItem(QListViewItem *); 00049 void IncLogging(); 00050 void DecLogging(); 00051 00052 void ToggledCatchQDebug(bool); 00053 void ToggledCatchQWarning(bool); 00054 void ToggledOutput(bool); 00055 void ToggledAppendToFile(bool); 00056 void SetLogFileName(); 00057 00058 public: 00059 ~CTraceManager(); 00060 00061 static CTraceManager *Instance(); 00062 CTraceModule *RegisterModule(const QString &module_name, int initial_value = 1); 00063 void Log(const QString &log_string); 00064 00065 void GetConfiguration(QDomNode &); 00066 void SetConfiguration(const QDomNode &); 00067 00068 public slots: 00069 void Show(); 00070 void Hide(); 00071 void ClearText(); 00072 void Mark(); 00073 void SetMute(bool); 00074 void UseOutput(bool); 00075 }; 00076 00077 #endif

Generated on Thu Jan 26 00:00:56 2006 for Camstream by doxygen 1.3.7