1// SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: GPL-3.0-or-later
4
5#ifndef ABSTRUCTOUTPUTPANE_H
6#define ABSTRUCTOUTPUTPANE_H
7
8#include <QObject>
9
10class AbstractOutputPane : public QObject
11{
12 Q_OBJECT
13public:
14 explicit AbstractOutputPane(QObject *parent = nullptr);
15 virtual ~AbstractOutputPane() override;
16
17 virtual QWidget *outputWidget(QWidget *parent) = 0;
18 virtual void clearContents() = 0;
19
20 virtual void setFocus() = 0;
21 virtual bool hasFocus() const = 0;
22 virtual bool canFocus() const = 0;
23
24 virtual bool canNext() const = 0;
25 virtual bool canPrevious() const = 0;
26 virtual void goToNext() = 0;
27 virtual void goToPrev() = 0;
28};
29
30#endif // ABSTRUCTOUTPUTPANE_H
31