Warning, file /kdevelop/kdevelop/kdevplatform/language/classmodel/projectfolder.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 SPDX-FileCopyrightText: 2009 Milian Wolff <mail@milianw.de> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #ifndef KDEVPLATFORM_PROJECTFOLDER_H 0008 #define KDEVPLATFORM_PROJECTFOLDER_H 0009 0010 #include "documentclassesfolder.h" 0011 0012 namespace KDevelop { 0013 class IProject; 0014 } 0015 0016 namespace ClassModelNodes { 0017 /// Special folder 0018 /// It displays all items of a given project. 0019 class ProjectFolder 0020 : public DocumentClassesFolder 0021 { 0022 Q_OBJECT 0023 0024 public: 0025 ProjectFolder(NodesModelInterface* a_model, KDevelop::IProject* project); 0026 explicit ProjectFolder(NodesModelInterface* a_model); 0027 0028 void populateNode() override; 0029 0030 protected: 0031 KDevelop::IProject* m_project; 0032 }; 0033 0034 /// Filter for the project folder. 0035 /// TODO: can't we share some code with FilteredAllClassesFolder somehow? 0036 class FilteredProjectFolder 0037 : public ProjectFolder 0038 { 0039 Q_OBJECT 0040 0041 public: 0042 FilteredProjectFolder(NodesModelInterface* a_model, KDevelop::IProject* project); 0043 0044 public: // Operations. 0045 /// Call this to update the classes filter string. 0046 void updateFilterString(const QString& a_newFilterString); 0047 0048 private: // DocumentClassesFolder overrides 0049 bool isClassFiltered(const KDevelop::QualifiedIdentifier& a_id) override; 0050 0051 private: 0052 /// We'll use this string to display only classes that match this string. 0053 QString m_filterString; 0054 }; 0055 } 0056 0057 #endif // KDEVPLATFORM_PROJECTFOLDER_H