File indexing completed on 2024-05-05 16:46:04
0001 /* 0002 SPDX-FileCopyrightText: 2010, 2015 Alex Richardson <alex.richardson@gmx.de> 0003 0004 SPDX-License-Identifier: LGPL-2.1-or-later 0005 */ 0006 0007 #include "outlineviewplugin.h" 0008 0009 #include <KLocalizedString> 0010 #include <KPluginFactory> 0011 0012 #include <interfaces/iuicontroller.h> 0013 #include <interfaces/icore.h> 0014 0015 #include <debug.h> 0016 #include "outlinewidget.h" 0017 0018 K_PLUGIN_FACTORY_WITH_JSON(KDevOutlineViewFactory, "kdevoutlineview.json", registerPlugin<OutlineViewPlugin>();) 0019 0020 using namespace KDevelop; 0021 0022 class OutlineViewFactory: public KDevelop::IToolViewFactory { 0023 public: 0024 explicit OutlineViewFactory(OutlineViewPlugin *plugin) : m_plugin(plugin) {} 0025 0026 QWidget* create(QWidget *parent = nullptr) override 0027 { 0028 return new OutlineWidget(parent, m_plugin); 0029 } 0030 0031 Qt::DockWidgetArea defaultPosition() const override 0032 { 0033 return Qt::RightDockWidgetArea; 0034 } 0035 0036 QString id() const override 0037 { 0038 return QStringLiteral("org.kdevelop.OutlineView"); 0039 } 0040 0041 private: 0042 OutlineViewPlugin *m_plugin; 0043 }; 0044 0045 OutlineViewPlugin::OutlineViewPlugin(QObject *parent, const QVariantList&) 0046 : KDevelop::IPlugin(QStringLiteral("kdevoutlineview"), parent) 0047 , m_factory(new OutlineViewFactory(this)) 0048 { 0049 core()->uiController()->addToolView(i18nc("@title:window", "Outline"), m_factory); 0050 } 0051 0052 OutlineViewPlugin::~OutlineViewPlugin() 0053 { 0054 } 0055 0056 void OutlineViewPlugin::unload() 0057 { 0058 core()->uiController()->removeToolView(m_factory); 0059 } 0060 0061 #include "outlineviewplugin.moc" 0062 #include "moc_outlineviewplugin.cpp"