diff -r 1050670c6980 -r b9ab3b238396 sysperfana/perfinvestigator/com.nokia.carbide.cpp.pi.ui/src/com/nokia/carbide/cpp/internal/pi/ui/PIUiPlugin.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysperfana/perfinvestigator/com.nokia.carbide.cpp.pi.ui/src/com/nokia/carbide/cpp/internal/pi/ui/PIUiPlugin.java Thu Feb 11 15:32:31 2010 +0200 @@ -0,0 +1,102 @@ +/* + * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of the License "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: + * + */ + +package com.nokia.carbide.cpp.internal.pi.ui; + +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.swt.widgets.Display; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +/** + * The main plugin class to be used in the desktop. + */ +public class PIUiPlugin extends AbstractUIPlugin { + + public static final String PLUGIN_ID = "com.nokia.carbide.cpp.pi.ui"; //$NON-NLS-1$ + + //The shared instance. + private static PIUiPlugin plugin; + + private static void setPlugin(PIUiPlugin newPlugin) + { + plugin = newPlugin; + } + + /** + * The constructor. + */ + public PIUiPlugin() { + setPlugin(this); + } + + /** + * This method is called upon plug-in activation + */ + public void start(BundleContext context) throws Exception { + super.start(context); + } + + /** + * This method is called when the plug-in is stopped + */ + public void stop(BundleContext context) throws Exception { + super.stop(context); + setPlugin(null); + } + + /** + * Returns the shared instance. + */ + public static PIUiPlugin getDefault() { + return plugin; + } + + /** + * Returns an image descriptor for the image file at the given + * plug-in relative path. + * + * @param path the path + * @return the image descriptor + */ + public static ImageDescriptor getImageDescriptor(String path) { + return AbstractUIPlugin.imageDescriptorFromPlugin("com.nokia.carbide.cpp.pi.ui", path); //$NON-NLS-1$ + } + + /** + * Returns the standard display to be used. The method first checks, if + * the thread calling this method has an associated display. If so, this + * display is returned. Otherwise the method returns the default display. + */ + public static Display getStandardDisplay() { + Display display= Display.getCurrent(); + if (display == null) { + display= Display.getDefault(); + } + return display; + } + + public void log(Throwable e) { + log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR, Messages.getString("PIUiPlugin.error"), e)); //$NON-NLS-1$ + } + + public void log(IStatus status) { + getLog().log(status); + } +}