forked from qt-creator/qt-creator
ExtensionSystem: Add a less verbose way to *Plugin::initialize()
Barely any of our plugins use the arguments or report error on initialization. Use it to the Nim plugin for demonstration purposes. Change-Id: I0aead51afff61648fe03ad7e1ef7b4100abd9ed6 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -58,6 +58,17 @@
|
|||||||
\sa delayedInitialize()
|
\sa delayedInitialize()
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\fn void ExtensionSystem::IPlugin::initialize()
|
||||||
|
This function is called as the default implementation of
|
||||||
|
\c initialize(const QStringList &arguments, QString *errorString) and can be
|
||||||
|
overwritten instead of the full-args version in cases the parameters
|
||||||
|
are not used by the implementation and there is no error to report.
|
||||||
|
|
||||||
|
\sa extensionsInitialized()
|
||||||
|
\sa delayedInitialize()
|
||||||
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\fn void ExtensionSystem::IPlugin::extensionsInitialized()
|
\fn void ExtensionSystem::IPlugin::extensionsInitialized()
|
||||||
Called after the initialize() function has been called,
|
Called after the initialize() function has been called,
|
||||||
@@ -167,6 +178,14 @@ IPlugin::~IPlugin()
|
|||||||
d = nullptr;
|
d = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool IPlugin::initialize(const QStringList &arguments, QString *errorString)
|
||||||
|
{
|
||||||
|
Q_UNUSED(arguments)
|
||||||
|
Q_UNUSED(errorString)
|
||||||
|
initialize();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Returns objects that are meant to be passed on to \l QTest::qExec().
|
Returns objects that are meant to be passed on to \l QTest::qExec().
|
||||||
|
|
||||||
|
@@ -30,7 +30,8 @@ public:
|
|||||||
IPlugin();
|
IPlugin();
|
||||||
~IPlugin() override;
|
~IPlugin() override;
|
||||||
|
|
||||||
virtual bool initialize(const QStringList &arguments, QString *errorString) = 0;
|
virtual bool initialize(const QStringList &arguments, QString *errorString);
|
||||||
|
virtual void initialize() {}
|
||||||
virtual void extensionsInitialized() {}
|
virtual void extensionsInitialized() {}
|
||||||
virtual bool delayedInitialize() { return false; }
|
virtual bool delayedInitialize() { return false; }
|
||||||
virtual ShutdownFlag aboutToShutdown() { return SynchronousShutdown; }
|
virtual ShutdownFlag aboutToShutdown() { return SynchronousShutdown; }
|
||||||
|
@@ -73,11 +73,8 @@ NimPlugin::~NimPlugin()
|
|||||||
delete d;
|
delete d;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool NimPlugin::initialize(const QStringList &arguments, QString *errorMessage)
|
void NimPlugin::initialize()
|
||||||
{
|
{
|
||||||
Q_UNUSED(arguments)
|
|
||||||
Q_UNUSED(errorMessage)
|
|
||||||
|
|
||||||
d = new NimPluginPrivate;
|
d = new NimPluginPrivate;
|
||||||
|
|
||||||
ToolChainManager::registerLanguage(Constants::C_NIMLANGUAGE_ID, Constants::C_NIMLANGUAGE_NAME);
|
ToolChainManager::registerLanguage(Constants::C_NIMLANGUAGE_ID, Constants::C_NIMLANGUAGE_NAME);
|
||||||
@@ -88,8 +85,6 @@ bool NimPlugin::initialize(const QStringList &arguments, QString *errorMessage)
|
|||||||
|
|
||||||
ProjectManager::registerProjectType<NimProject>(Constants::C_NIM_PROJECT_MIMETYPE);
|
ProjectManager::registerProjectType<NimProject>(Constants::C_NIM_PROJECT_MIMETYPE);
|
||||||
ProjectManager::registerProjectType<NimbleProject>(Constants::C_NIMBLE_MIMETYPE);
|
ProjectManager::registerProjectType<NimbleProject>(Constants::C_NIMBLE_MIMETYPE);
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void NimPlugin::extensionsInitialized()
|
void NimPlugin::extensionsInitialized()
|
||||||
|
@@ -16,7 +16,7 @@ public:
|
|||||||
NimPlugin() = default;
|
NimPlugin() = default;
|
||||||
~NimPlugin() final;
|
~NimPlugin() final;
|
||||||
|
|
||||||
bool initialize(const QStringList &arguments, QString *errorMessage) final;
|
void initialize() final;
|
||||||
void extensionsInitialized() final;
|
void extensionsInitialized() final;
|
||||||
|
|
||||||
#ifdef WITH_TESTS
|
#ifdef WITH_TESTS
|
||||||
|
Reference in New Issue
Block a user