File indexing completed on 2024-04-21 04:36:02

0001 /* This file is part of KDevelop
0002 
0003    Copyright 2016 Anton Anikin <anton.anikin@htower.ru>
0004 
0005    This program is free software; you can redistribute it and/or
0006    modify it under the terms of the GNU General Public
0007    License as published by the Free Software Foundation; either
0008    version 2 of the License, or (at your option) any later version.
0009 
0010    This program is distributed in the hope that it will be useful,
0011    but WITHOUT ANY WARRANTY; without even the implied warranty of
0012    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
0013    General Public License for more details.
0014 
0015    You should have received a copy of the GNU General Public License
0016    along with this program; see the file COPYING.  If not, write to
0017    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
0018    Boston, MA 02110-1301, USA.
0019 */
0020 
0021 #ifndef VERAPP_PROJECT_CONFIG_PAGE_H
0022 #define VERAPP_PROJECT_CONFIG_PAGE_H
0023 
0024 #include "rules.h"
0025 
0026 #include <interfaces/configpage.h>
0027 
0028 #include <QCheckBox>
0029 
0030 namespace KDevelop
0031 {
0032 class IProject;
0033 }
0034 
0035 namespace verapp
0036 {
0037 
0038 namespace Ui
0039 {
0040 class ProjectConfigPage;
0041 }
0042 
0043 class Parameters;
0044 
0045 class ProjectConfigPage : public KDevelop::ConfigPage
0046 {
0047     Q_OBJECT
0048 
0049 public:
0050 
0051     ProjectConfigPage(KDevelop::IPlugin* plugin, KDevelop::IProject* project, QWidget* parent);
0052     ~ProjectConfigPage() override;
0053 
0054     QIcon icon() const override;
0055     QString name() const override;
0056 
0057 public slots:
0058     void defaults() override;
0059     void reset() override;
0060 
0061 private:
0062     void updateCommandLine();
0063     void addRules(QWidget* tab, rules::Type first, rules::Type last);
0064 
0065     QScopedPointer<Ui::ProjectConfigPage> ui;
0066     QScopedPointer<Parameters> m_parameters;
0067 
0068     QHash<rules::Type, QCheckBox*> m_rulesCheckBox;
0069 };
0070 
0071 }
0072 
0073 #endif