1 /*
2     SPDX-FileCopyrightText: 2009 Volker Krause <vkrause@kde.org>
3 
4     SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6 
7 #pragma once
8 
9 #include <QWidget>
10 
11 class KAssistantDialog;
12 class KPageWidgetItem;
13 
14 class Page : public QWidget
15 {
16     Q_OBJECT
17 public:
18     explicit Page(KAssistantDialog *parent);
19 
20     void setPageWidgetItem(KPageWidgetItem *item);
21 
22     virtual void enterPageNext();
23     virtual void enterPageBack();
24     virtual void leavePageNext();
25     virtual void leavePageBack();
26     virtual void leavePageNextRequested();
27     virtual void leavePageBackRequested();
28 
29     KAssistantDialog *assistantDialog() const;
30 
31 Q_SIGNALS:
32     Q_SCRIPTABLE void pageEnteredNext();
33     Q_SCRIPTABLE void pageEnteredBack();
34     Q_SCRIPTABLE void pageLeftNext();
35     Q_SCRIPTABLE void pageLeftBack();
36     Q_SCRIPTABLE void leavePageNextOk();
37     Q_SCRIPTABLE void leavePageBackOk();
38 
39 public Q_SLOTS:
40     Q_SCRIPTABLE void setValid(bool valid);
41     Q_SCRIPTABLE void nextPage();
42 
43 protected:
44     KPageWidgetItem *m_item = nullptr;
45     KAssistantDialog *m_parent = nullptr;
46 
47 private:
48     friend class Dialog;
49     bool m_valid = false;
50 };
51 
52