File indexing completed on 2024-04-14 05:41:10
0001 /** 0002 * SPDX-FileCopyrightText: (C) 2003 by Sébastien Laoût <slaout@linux62.org> 0003 * SPDX-License-Identifier: GPL-2.0-or-later 0004 */ 0005 0006 #ifndef DEBUGWINDOW_H 0007 #define DEBUGWINDOW_H 0008 0009 #include <QWidget> 0010 0011 class QVBoxLayout; 0012 class QTextBrowser; 0013 class QString; 0014 class QCloseEvent; 0015 0016 /**A simple window that display text through debugging messages. 0017 *@author Sébastien Laoût 0018 */ 0019 0020 class DebugWindow : public QWidget 0021 { 0022 Q_OBJECT 0023 public: 0024 /** Constructor and destructor */ 0025 explicit DebugWindow(QWidget *parent = nullptr); 0026 ~DebugWindow() override; 0027 /** Methods to post a message to the debug window */ 0028 Q_INVOKABLE void postMessage(const QString msg); 0029 DebugWindow &operator<<(const QString msg); 0030 void insertHLine(); 0031 0032 protected: 0033 void closeEvent(QCloseEvent *event) override; 0034 0035 private: 0036 QVBoxLayout *layout; 0037 QTextBrowser *textBrowser; 0038 }; 0039 0040 #define DEBUG_WIN \ 0041 if (Global::debugWindow) \ 0042 *Global::debugWindow 0043 0044 #endif // DEBUGWINDOW_H