1 package de.uka.ipd.coverage.plugin; 2 3 import java.net.MalformedURLException ; 4 import java.net.URL ; 5 import java.util.MissingResourceException ; 6 import java.util.ResourceBundle ; 7 8 import org.eclipse.core.runtime.Platform; 9 import org.eclipse.jdt.core.IJavaProject; 10 import org.eclipse.jface.resource.ImageDescriptor; 11 import org.eclipse.jface.resource.ImageRegistry; 12 import org.eclipse.swt.graphics.Image; 13 import org.eclipse.swt.widgets.Display; 14 import org.eclipse.ui.plugin.AbstractUIPlugin; 15 import org.osgi.framework.BundleContext; 16 17 import de.uka.ipd.coverage.plugin.ui.CoverageMarkerManager; 18 import de.uka.ipd.coverage.plugin.ui.CoverageMarkerView; 19 import de.uka.ipd.coverage.utils.Logger; 20 21 24 public class CoveragePlugin extends AbstractUIPlugin { 25 26 public static String PLUGIN_ID = "de.uka.ipd.coverage"; private static CoveragePlugin plugin; 29 private ResourceBundle resourceBundle; 31 32 private ImageRegistry imageRegistry; 33 private Logger logger = new Logger(this); 34 private IJavaProject javaProject; 35 private CoverageMarkerManager markerManager = new CoverageMarkerManager(); 36 private CoverageMarkerView markerView; 37 38 41 public CoveragePlugin() { 42 super(); 43 plugin = this; 44 try { 45 resourceBundle = ResourceBundle.getBundle("coverage_plugin.Coverage_pluginPluginResources"); } catch (MissingResourceException x) { 47 resourceBundle = null; 48 } 49 } 50 51 54 public void start(BundleContext context) throws Exception { 55 super.start(context); 56 } 57 58 61 public void stop(BundleContext context) throws Exception { 62 super.stop(context); 63 } 64 65 68 public static CoveragePlugin getDefault() { 69 return plugin; 70 } 71 72 76 public static String getResourceString(String key) { 77 ResourceBundle bundle = CoveragePlugin.getDefault().getResourceBundle(); 78 try { 79 return (bundle != null) ? bundle.getString(key) : key; 80 } catch (MissingResourceException e) { 81 return key; 82 } 83 } 84 85 88 public ResourceBundle getResourceBundle() { 89 return resourceBundle; 90 } 91 92 public ImageDescriptor[] getImageDescriptors(String [] baseNames, String iconPath, String extension) { 93 initImageRegistry(); 94 URL installUrl = Platform.getBundle(CoveragePlugin.PLUGIN_ID).getEntry("/"); ImageDescriptor[] descs = new ImageDescriptor[baseNames.length]; 96 for (int i = 0; i < baseNames.length; i++) { 97 try { 98 URL iconUrl = new URL (installUrl, iconPath + baseNames[i] + "." + extension); descs[i] = ImageDescriptor.createFromURL(iconUrl); 100 imageRegistry.put(baseNames[i], descs[i]); 101 } catch (MalformedURLException e) { 102 logger.log(e); 103 e.printStackTrace(); 104 } 105 } 106 return descs; 107 } 108 109 112 private void initImageRegistry() { 113 if (imageRegistry == null) { 114 imageRegistry = new ImageRegistry(Display.getDefault()); 115 } 116 } 117 118 public ImageDescriptor[] getImageDescriptors(String [] baseNames, String iconPath) { 119 return getImageDescriptors(baseNames, iconPath, "png"); } 121 122 public Image getImage(String baseName) { 123 initImageRegistry(); 124 return imageRegistry.get(baseName); 125 } 126 127 130 public void setJavaProject(IJavaProject javaProject) { 131 this.javaProject = javaProject; 132 } 133 134 public IJavaProject getJavaProject() { 135 return javaProject; 136 } 137 138 140 public CoverageMarkerManager getMarkerManager() { 141 return markerManager; 142 } 143 144 public void setMarkerView(CoverageMarkerView view) { 145 this.markerView = view; 146 } 147 public CoverageMarkerView getMarkerView() { 148 return markerView; 149 } 150 } 151 | Popular Tags |