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