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