]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.workbench/src/org/simantics/workbench/internal/Activator.java
db6cdac8005aa0bc5de354010e2222b34721988c
[simantics/platform.git] / bundles / org.simantics.workbench / src / org / simantics / workbench / internal / Activator.java
1 /*******************************************************************************
2  * Copyright (c) 2007, 2010 Association for Decentralized Information Management
3  * in Industry THTH ry.
4  * All rights reserved. This program and the accompanying materials
5  * are made available under the terms of the Eclipse Public License v1.0
6  * which accompanies this distribution, and is available at
7  * http://www.eclipse.org/legal/epl-v10.html
8  *
9  * Contributors:
10  *     VTT Technical Research Centre of Finland - initial API and implementation
11  *******************************************************************************/
12 package org.simantics.workbench.internal;
13
14 import org.eclipse.core.runtime.IStatus;
15 import org.eclipse.core.runtime.Status;
16 import org.eclipse.jface.resource.ImageDescriptor;
17 import org.eclipse.ui.plugin.AbstractUIPlugin;
18 import org.osgi.framework.BundleContext;
19 import org.simantics.ui.workbench.WorkbenchShutdownServiceImpl;
20
21 /**
22  * The main plugin class to be used in the desktop.
23  */
24 public class Activator extends AbstractUIPlugin {
25
26     public static final String PLUGIN_ID = "org.simantics.workbench";
27
28     // The shared instance.
29     private static Activator   plugin;
30
31     /**
32      * The constructor.
33      */
34     public Activator() {
35         plugin = this;
36     }
37
38     @Override
39     public void start(BundleContext context) throws Exception {
40
41         WorkbenchShutdownServiceImpl.initialize(context);
42
43         super.start(context);
44
45     }
46
47     /**
48      * This method is called when the plug-in is stopped
49      */
50     @Override
51     public void stop(BundleContext context) throws Exception {
52
53         WorkbenchShutdownServiceImpl.close();
54
55         super.stop(context);
56
57         plugin = null;
58
59     }
60
61     /**
62      * Returns the shared instance.
63      */
64     public static Activator getDefault() {
65         return plugin;
66     }
67
68     /**
69      * Returns an image descriptor for the image file at the given plug-in
70      * relative path.
71      * 
72      * @param path the path
73      * @return the image descriptor
74      */
75     public static ImageDescriptor getImageDescriptor(String path) {
76         return AbstractUIPlugin.imageDescriptorFromPlugin(PLUGIN_ID, path);
77     }
78
79     public static void logError(String message, Throwable e) {
80         getDefault().getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message, e));
81     }
82
83 }
84