X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.tests.modelled.ui%2Fsrc%2Forg%2Fsimantics%2Ftests%2Fmodelled%2Fui%2FActivator.java;fp=bundles%2Forg.simantics.tests.modelled.ui%2Fsrc%2Forg%2Fsimantics%2Ftests%2Fmodelled%2Fui%2FActivator.java;h=4349852929b118128082cb4f83c61f03c1e6f007;hp=0000000000000000000000000000000000000000;hb=3b5069d0d30e7de27f73d88d5e89d29052291a34;hpb=bf75fd9740858140eac90c18f0bca0aea3893248 diff --git a/bundles/org.simantics.tests.modelled.ui/src/org/simantics/tests/modelled/ui/Activator.java b/bundles/org.simantics.tests.modelled.ui/src/org/simantics/tests/modelled/ui/Activator.java new file mode 100644 index 000000000..434985292 --- /dev/null +++ b/bundles/org.simantics.tests.modelled.ui/src/org/simantics/tests/modelled/ui/Activator.java @@ -0,0 +1,73 @@ +package org.simantics.tests.modelled.ui; + +import java.net.URL; +import java.util.ArrayList; +import java.util.List; + +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.swt.graphics.Image; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle + */ +public class Activator extends AbstractUIPlugin { + + // The plug-in ID + public static final String PLUGIN_ID = "org.simantics.tests.modelled.ui"; //$NON-NLS-1$ + + // The shared instance + private static Activator plugin; + + /** + * The constructor + */ + public Activator() { + } + + /* + * (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) + */ + public void start(BundleContext context) throws Exception { + super.start(context); + plugin = this; + } + + /* + * (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) + */ + public void stop(BundleContext context) throws Exception { + plugin = null; + for (Image image : imagesToDispose) + image.dispose(); + super.stop(context); + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static Activator getDefault() { + return plugin; + } + + public static ImageDescriptor getImageDescriptor(String relativePath) { + URL url = getDefault().getBundle().getEntry(relativePath); + return ImageDescriptor.createFromURL(url); + } + + private static List imagesToDispose = new ArrayList<>(); + + public static Image createManagedImage(ImageDescriptor descriptor) { + Image image= descriptor.createImage(); + if (image == null) { + image= ImageDescriptor.getMissingImageDescriptor().createImage(); + } + imagesToDispose.add(image); + return image; + } +}