diff options
Diffstat (limited to 'src/plugins/boostbuildprojectmanager/b2projectmanagerplugin.cpp')
-rw-r--r-- | src/plugins/boostbuildprojectmanager/b2projectmanagerplugin.cpp | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/src/plugins/boostbuildprojectmanager/b2projectmanagerplugin.cpp b/src/plugins/boostbuildprojectmanager/b2projectmanagerplugin.cpp new file mode 100644 index 0000000000..b5c3ae1186 --- /dev/null +++ b/src/plugins/boostbuildprojectmanager/b2projectmanagerplugin.cpp @@ -0,0 +1,83 @@ +// +// Copyright (C) 2013 Mateusz Ĺoskot <mateusz@loskot.net> +// +// This file is part of Qt Creator Boost.Build plugin project. +// +// This is free software; you can redistribute and/or modify it under +// the terms of the GNU Lesser General Public License, Version 2.1 +// as published by the Free Software Foundation. +// See accompanying file LICENSE.txt or copy at +// http://www.gnu.org/licenses/lgpl-2.1-standalone.html. +// +#include "b2buildconfiguration.h" +#include "b2buildstep.h" +#include "b2projectmanager.h" +#include "b2projectmanagerplugin.h" +#include "b2projectmanagerconstants.h" +#include <coreplugin/icore.h> +#include <coreplugin/icontext.h> +#include <coreplugin/actionmanager/actionmanager.h> +#include <coreplugin/actionmanager/command.h> +#include <coreplugin/actionmanager/actioncontainer.h> +#include <coreplugin/coreconstants.h> +#include <utils/mimetypes/mimedatabase.h> +// Qt +#include <QAction> +#include <QMessageBox> +#include <QMainWindow> +#include <QMenu> + +#include <QtPlugin> + +namespace BoostBuildProjectManager { namespace Internal { + +BoostBuildPlugin::BoostBuildPlugin() +{ + // Create your members +} + +BoostBuildPlugin::~BoostBuildPlugin() +{ + // Unregister objects from the plugin manager's object pool + // Delete members +} + +bool BoostBuildPlugin::initialize(QStringList const& arguments, QString* errorString) +{ + Q_UNUSED(arguments) + Q_UNUSED(errorString) + + // Register objects in the plugin manager's object pool + // Load settings + // Add actions to menus + // Connect to other plugins' signals + // In the initialize function, a plugin can be sure that the plugins it + // depends on have initialized their members. + + QLatin1String const mimeTypes(":boostbuildproject/BoostBuildProjectManager.mimetypes.xml"); + Utils::MimeDatabase::addMimeTypes(mimeTypes); + + addAutoReleasedObject(new BuildStepFactory); + addAutoReleasedObject(new BuildConfigurationFactory); + //TODO addAutoReleasedObject(new RunConfigurationFactory); + addAutoReleasedObject(new ProjectManager); + + return true; +} + +void BoostBuildPlugin::extensionsInitialized() +{ + // Retrieve objects from the plugin manager's object pool + // In the extensionsInitialized function, a plugin can be sure that all + // plugins that depend on it are completely initialized. +} + +ExtensionSystem::IPlugin::ShutdownFlag BoostBuildPlugin::aboutToShutdown() +{ + // Save settings + // Disconnect from signals that are not needed during shutdown + // Hide UI (if you add UI that is not in the main window directly) + return SynchronousShutdown; +} + +}} |