File indexing completed on 2024-05-12 04:39:40

0001 /*
0002     SPDX-FileCopyrightText: 2010 Andreas Pakulat <apaku@gmx.de>
0003 
0004     SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-or-later
0005 */
0006 
0007 #ifndef KDEVELOP_PROJECTMANAGERS_CUSTOM_BUILDSYSTEM_DEFINESWIDGET_H
0008 #define KDEVELOP_PROJECTMANAGERS_CUSTOM_BUILDSYSTEM_DEFINESWIDGET_H
0009 
0010 #include <QWidget>
0011 
0012 #include "idefinesandincludesmanager.h"
0013 
0014 namespace Ui
0015 {
0016 class DefinesWidget;
0017 }
0018 
0019 namespace KDevelop
0020 {
0021     class IProject;
0022 }
0023 
0024 class DefinesModel;
0025 
0026 class DefinesWidget : public QWidget
0027 {
0028 Q_OBJECT
0029 public:
0030     explicit DefinesWidget( QWidget* parent = nullptr );
0031     ~DefinesWidget() override;
0032 
0033     void setDefines( const KDevelop::Defines& defines );
0034     void clear();
0035 Q_SIGNALS:
0036     void definesChanged( const KDevelop::Defines& defines );
0037 private Q_SLOTS:
0038     // Forward defines model changes
0039     void definesChanged();
0040 
0041     // Handle Del key in defines list
0042     void deleteDefine();
0043 private:
0044     QScopedPointer<Ui::DefinesWidget> ui;
0045     DefinesModel* definesModel;
0046 };
0047 
0048 #endif