File indexing completed on 2024-05-05 04:40:05
0001 /* 0002 SPDX-FileCopyrightText: 2010 Yannick Motta <yannick.motta@gmail.com> 0003 SPDX-FileCopyrightText: 2010 Benjamin Port <port.benjamin@gmail.com> 0004 0005 SPDX-License-Identifier: LGPL-2.0-or-later 0006 */ 0007 0008 #ifndef MANPAGEPLUGIN_H 0009 #define MANPAGEPLUGIN_H 0010 0011 #include "manpagemodel.h" 0012 0013 #include <interfaces/iplugin.h> 0014 #include <interfaces/idocumentationprovider.h> 0015 0016 #include <QVariantList> 0017 #include <QProgressBar> 0018 0019 class ManPageDocumentation; 0020 0021 class ManPagePlugin : public KDevelop::IPlugin, public KDevelop::IDocumentationProvider 0022 { 0023 Q_OBJECT 0024 Q_INTERFACES( KDevelop::IDocumentationProvider ) 0025 public: 0026 explicit ManPagePlugin(QObject *parent, const QVariantList & args= QVariantList()); 0027 ~ManPagePlugin() override; 0028 KDevelop::IDocumentation::Ptr documentationForDeclaration (KDevelop::Declaration* dec) const override; 0029 KDevelop::IDocumentation::Ptr documentation(const QUrl& url) const override; 0030 QAbstractItemModel* indexModel() const override; 0031 KDevelop::IDocumentation::Ptr documentationForIndex(const QModelIndex& index) const override; 0032 QIcon icon() const override; 0033 QString name() const override; 0034 KDevelop::IDocumentation::Ptr homePage() const override; 0035 void deleteProgressBar(); 0036 0037 ManPageModel* model() const; 0038 QProgressBar* progressBar() const; 0039 0040 private: 0041 KDevelop::IDocumentation::Ptr documentationForIdentifier(const QString& identifier) const; 0042 0043 ManPageModel *m_model; 0044 }; 0045 0046 #endif // MANPAGEPLUGIN_H