File indexing completed on 2024-04-21 04:36:02
0001 /* This file is part of KDevelop 0002 0003 Copyright 2017 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 #pragma once 0022 0023 #include <shell/problemmodel.h> 0024 0025 namespace KDevelop 0026 { 0027 class IProject; 0028 } 0029 0030 namespace verapp 0031 { 0032 0033 class Plugin; 0034 0035 class ProblemModel : public KDevelop::ProblemModel 0036 { 0037 public: 0038 explicit ProblemModel(Plugin* plugin); 0039 ~ProblemModel() override; 0040 0041 KDevelop::IProject* project() const; 0042 0043 void addProblems(const QVector<KDevelop::IProblem::Ptr>& problems); 0044 0045 void setProblems(); 0046 using KDevelop::ProblemModel::setProblems; 0047 0048 void reset(); 0049 void reset(KDevelop::IProject* project, const QString& path); 0050 0051 void show(); 0052 0053 void forceFullUpdate() override; 0054 0055 private: 0056 Plugin* m_plugin; 0057 0058 KDevelop::IProject* m_project; 0059 QString m_path; 0060 0061 QVector<KDevelop::IProblem::Ptr> m_problems; 0062 }; 0063 0064 }