ClassView: Adapt to new plugin setup pattern

Change-Id: Ieb97736ceb462baf6d97dc39cc4bd08854477a92
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2018-02-06 12:57:00 +01:00
parent 79a43b4d86
commit 0b33500655
2 changed files with 25 additions and 18 deletions

View File

@@ -27,31 +27,40 @@
#include "classviewmanager.h"
#include "classviewnavigationwidgetfactory.h"
#include <QtPlugin>
namespace ClassView {
namespace Internal {
///////////////////////////////// Plugin //////////////////////////////////
/*!
\class Plugin
\brief The Plugin class is the base class for the Class View plugin.
\class ClassViewPlugin
\brief The ClassViewPlugin class implements the Class View plugin.
The Class View shows the namespace and class hierarchy of the currently open
projects in the sidebar.
*/
bool Plugin::initialize(const QStringList &arguments, QString *errorMessage)
class ClassViewPluginPrivate
{
public:
NavigationWidgetFactory navigationWidgetFactory;
Manager manager;
};
static ClassViewPluginPrivate *dd = nullptr;
ClassViewPlugin::~ClassViewPlugin()
{
delete dd;
dd = nullptr;
}
bool ClassViewPlugin::initialize(const QStringList &arguments, QString *errorMessage)
{
Q_UNUSED(arguments)
Q_UNUSED(errorMessage)
// add to ExtensionSystem
addAutoReleasedObject(new NavigationWidgetFactory);
// create manager
(void) new Manager(this);
dd = new ClassViewPluginPrivate;
return true;
}

View File

@@ -30,20 +30,18 @@
namespace ClassView {
namespace Internal {
class Plugin : public ExtensionSystem::IPlugin
class ClassViewPlugin : public ExtensionSystem::IPlugin
{
Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "ClassView.json")
public:
//! Constructor
Plugin() {}
ClassViewPlugin() = default;
~ClassViewPlugin() final;
//! \implements ExtensionSystem::IPlugin::initialize
bool initialize(const QStringList &arguments, QString *errorMessage = 0);
//! \implements ExtensionSystem::IPlugin::extensionsInitialized
void extensionsInitialized() {}
private:
bool initialize(const QStringList &arguments, QString *errorMessage = nullptr) final;
void extensionsInitialized() final {}
};
} // namespace Internal