aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/qmlprofilerextension/qmlprofilerextensionplugin.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/qmlprofilerextension/qmlprofilerextensionplugin.cpp')
-rw-r--r--plugins/qmlprofilerextension/qmlprofilerextensionplugin.cpp93
1 files changed, 93 insertions, 0 deletions
diff --git a/plugins/qmlprofilerextension/qmlprofilerextensionplugin.cpp b/plugins/qmlprofilerextension/qmlprofilerextensionplugin.cpp
new file mode 100644
index 0000000000..45ca48bc2e
--- /dev/null
+++ b/plugins/qmlprofilerextension/qmlprofilerextensionplugin.cpp
@@ -0,0 +1,93 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Digia Plc
+** All rights reserved.
+** For any questions to Digia, please use contact form at http://qt.digia.com <http://qt.digia.com/>
+**
+** This file is part of the Qt Enterprise Qt Quick Profiler Add-on.
+**
+** Licensees holding valid Qt Enterprise licenses may use this file in
+** accordance with the Qt Enterprise License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia.
+**
+** If you have questions regarding the use of this file, please use
+** contact form at http://qt.digia.com <http://qt.digia.com/>
+**
+****************************************************************************/
+
+#include "qmlprofilerextensionplugin.h"
+#include "qmlprofilerextensionconstants.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 <QAction>
+#include <QMessageBox>
+#include <QMainWindow>
+#include <QMenu>
+
+#include <QtPlugin>
+
+#include "scenegraphtimelinemodel.h"
+#include "pixmapcachemodel.h"
+
+using namespace QmlProfilerExtension::Internal;
+
+QmlProfilerExtensionPlugin::QmlProfilerExtensionPlugin()
+{
+ // Create your members
+}
+
+QmlProfilerExtensionPlugin::~QmlProfilerExtensionPlugin()
+{
+ // Unregister objects from the plugin manager's object pool
+ // Delete members
+}
+
+bool QmlProfilerExtensionPlugin::initialize(const QStringList &arguments, QString *errorString)
+{
+ // Register objects in the plugin manager's object pool
+ // Load settings
+ // Add actions to menus
+ // Connect to other plugins' signals
+ // In the initialize method, a plugin can be sure that the plugins it
+ // depends on have initialized their members.
+
+ Q_UNUSED(arguments)
+ Q_UNUSED(errorString)
+
+ addAutoReleasedObject(new PixmapCacheModel);
+ addAutoReleasedObject(new SceneGraphTimelineModel);
+
+ return true;
+}
+
+void QmlProfilerExtensionPlugin::extensionsInitialized()
+{
+ // Retrieve objects from the plugin manager's object pool
+ // In the extensionsInitialized method, a plugin can be sure that all
+ // plugins that depend on it are completely initialized.
+}
+
+ExtensionSystem::IPlugin::ShutdownFlag QmlProfilerExtensionPlugin::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;
+}
+
+void QmlProfilerExtensionPlugin::triggerAction()
+{
+ QMessageBox::information(Core::ICore::mainWindow(),
+ tr("Action triggered"),
+ tr("This is an action from QmlProfilerExtension."));
+}
+
+Q_EXPORT_PLUGIN2(QmlProfilerExtension, QmlProfilerExtensionPlugin)
+