File indexing completed on 2024-05-05 04:39:48
0001 /* 0002 SPDX-FileCopyrightText: 2012 Miha Čančula <miha@noughmad.eu> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #ifndef KDEVPLATFORM_PLUGIN_CLASSMEMBERSPAGE_H 0008 #define KDEVPLATFORM_PLUGIN_CLASSMEMBERSPAGE_H 0009 0010 #include <QWidget> 0011 0012 #include <language/codegen/codedescription.h> 0013 0014 #include "ipagefocus.h" 0015 0016 namespace KDevelop 0017 { 0018 0019 /** 0020 * Assistant dialog page for declaring data members of a new class 0021 * 0022 */ 0023 class ClassMembersPage : public QWidget, public IPageFocus 0024 { 0025 Q_OBJECT 0026 Q_PROPERTY(KDevelop::VariableDescriptionList members READ members WRITE setMembers) 0027 0028 public: 0029 explicit ClassMembersPage(QWidget* parent); 0030 ~ClassMembersPage() override; 0031 0032 /** 0033 * @return The list of data members, as entered by the user. 0034 */ 0035 KDevelop::VariableDescriptionList members() const; 0036 /** 0037 * Set the list of data members to @p members. 0038 */ 0039 void setMembers(const KDevelop::VariableDescriptionList& members); 0040 0041 void setFocusToFirstEditWidget() override; 0042 0043 private: 0044 class ClassMembersPagePrivate* const d; 0045 }; 0046 0047 } 0048 0049 #endif // KDEVPLATFORM_PLUGIN_CLASSMEMBERSPAGE_H