1// SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: GPL-3.0-or-later
4
5#ifndef APPOUTPUTPANE_H
6#define APPOUTPUTPANE_H
7
8#include "base/abstractoutputpane.h"
9#include "debuggerglobals.h"
10
11#include <QPlainTextEdit>
12
13class OutputWindowPrivate;
14class AppOutputPane : public QPlainTextEdit
15{
16 Q_OBJECT
17public:
18 AppOutputPane();
19 ~AppOutputPane() override;
20
21 void clearContents();
22
23 bool isScrollbarAtBottom() const;
24 QString doNewlineEnforcement(const QString &out);
25 void scrollToBottom();
26
27protected:
28 void contextMenuEvent(QContextMenuEvent * event) override;
29
30public slots:
31 void appendText(const QString &text, OutputPane::OutputFormat format);
32
33private:
34 void appendText(const QString &text, const QTextCharFormat &format = QTextCharFormat());
35 QList<QAction*> actionFactory();
36 OutputWindowPrivate *d = nullptr;
37};
38
39#endif // APPOUTPUTPANE_H
40