]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.workbench/src/org/simantics/workbench/internal/Activator.java
Simantics Console
[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.internal.UnhandledExceptionServiceImpl;
20 import org.simantics.ui.workbench.WorkbenchShutdownServiceImpl;
21
22 /**
23  * The main plugin class to be used in the desktop.
24  */
25 public class Activator extends AbstractUIPlugin {
26
27     public static final String PLUGIN_ID = "org.simantics.workbench";
28
29     // The shared instance.
30     private static Activator   plugin;
31
32     /**
33      * The constructor.
34      */
35     public Activator() {
36         plugin = this;
37     }
38
39     @Override
40     public void start(BundleContext context) throws Exception {
41
42         WorkbenchShutdownServiceImpl.initialize(context);
43         UnhandledExceptionServiceImpl.initialize(context);
44
45         super.start(context);
46
47     }
48
49     /**
50      * This method is called when the plug-in is stopped
51      */
52     @Override
53     public void stop(BundleContext context) throws Exception {
54
55         WorkbenchShutdownServiceImpl.close();
56         UnhandledExceptionServiceImpl.close();
57
58         super.stop(context);
59
60         plugin = null;
61
62     }
63
64     /**
65      * Returns the shared instance.
66      */
67     public static Activator getDefault() {
68         return plugin;
69     }
70
71     /**
72      * Returns an image descriptor for the image file at the given plug-in
73      * relative path.
74      * 
75      * @param path the path
76      * @return the image descriptor
77      */
78     public static ImageDescriptor getImageDescriptor(String path) {
79         return AbstractUIPlugin.imageDescriptorFromPlugin(PLUGIN_ID, path);
80     }
81
82     public static void logError(String message, Throwable e) {
83         getDefault().getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message, e));
84     }
85
86 }
87