package net.certware.measurement.spm.view; import java.net.URL; import org.osgi.framework.Bundle; import org.osgi.framework.BundleActivator; import org.eclipse.core.runtime.FileLocator; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.Path; import org.eclipse.core.runtime.Platform; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.resource.ImageRegistry; import org.eclipse.ui.plugin.AbstractUIPlugin; /** * CertWareUIPlugin for SPM view plugin. * Loads the image registry with keys exposed as public and static here. * @author mrb * @since 1.1 */ public class Activator extends AbstractUIPlugin implements BundleActivator { public static String PLUGIN_ID = "net.certware.measurement.spm.view"; //$NON-NLS-1$ public static final String COMPUTE_IMAGE = "compute.image"; public static final String FORM_IMAGE = "form.image"; public static final String HORIZONTAL_IMAGE = "horizontal.image"; public static final String VERTICAL_IMAGE = "vertical.image"; public static final String NODE_SCRAP_RATIO = "scrap.ratio"; public static final String NODE_REWORK_RATIO = "rework.ratio"; public static final String NODE_MODULARITY = "modularity"; public static final String NODE_ADAPTABILITY = "adaptability"; public static final String NODE_MATURITY = "maturity"; public static final String NODE_MAINTAINABILITY = "maintainability"; public static final String NODE_REWORK_STABILITY = "rework.stability"; public static final String NODE_REWORK_BACKLOG = "rework.backlog"; public static final String NODE_MODULARITY_TREND = "modularity.trend"; public static final String NODE_ADAPTABILITY_TREND = "adaptability.trend"; public static final String NODE_MATURITY_TREND = "maturity.trend"; public static final String NODE_CRITICAL_CHANGE_ORDERS = "critical.image"; public static final String NODE_NORMAL_CHANGE_ORDERS = "normal.image"; public static final String NODE_IMPROVEMENT_CHANGE_ORDERS = "improvement.image"; public static final String NODE_NEW_CHANGE_ORDERS = "neworders.image"; public static final String NODE_TOTAL_CHANGE_ORDERS = "totalorders.image"; public static final String NODE_TOTAL_SIZE = "totalsize.image"; public static final String NODE_BROKEN_SIZE = "brokensize.image"; public static final String NODE_FIXED_SIZE = "fixedsize.image"; public static final String COMMIT_IMAGE = "commit.image"; public static final String NODE_BASELINED_LINES = "baselined.image"; public static final String NODE_USAGE_TIME = "usage.image"; public static final String NODE_REPAIR_EFFORT = "repair.image"; public static final String NODE_DEVELOPMENT_EFFORT = "development.image"; /** singleton reference */ static private Activator plugin = null; public Activator() { super(); plugin = this; } /** * Returns the reference to the plugin. * @return plugin reference */ public static Activator getDefault() { return plugin; } /** * Load and install an image in the registry. * @param registry plugin registry from activation * @param bundle plugin bundle containing images * @param fileName image file name relative to bundle * @param id key for image retrieval */ private void initializeImage(ImageRegistry registry, Bundle bundle, String fileName, String id) { IPath path = new Path(fileName); URL url = FileLocator.find(bundle,path,null); ImageDescriptor desc = ImageDescriptor.createFromURL(url); registry.put(id, desc); } /** * Image registry loading. * Loads the images by key into the given registry. * @param registry image registry to load */ @Override protected void initializeImageRegistry(ImageRegistry registry) { Bundle bundle = Platform.getBundle(PLUGIN_ID); initializeImage(registry,bundle,"icons/obj16/ratio.gif",COMPUTE_IMAGE); initializeImage(registry,bundle,"icons/obj16/ratio.gif",NODE_SCRAP_RATIO); initializeImage(registry,bundle,"icons/obj16/ratio.gif",NODE_REWORK_RATIO); initializeImage(registry,bundle,"icons/obj16/ratio.gif",NODE_MODULARITY); initializeImage(registry,bundle,"icons/obj16/ratio.gif",NODE_ADAPTABILITY); initializeImage(registry,bundle,"icons/obj16/ratio.gif",NODE_MATURITY); initializeImage(registry,bundle,"icons/obj16/ratio.gif",NODE_MAINTAINABILITY); initializeImage(registry,bundle,"icons/obj16/ratio.gif",NODE_REWORK_STABILITY); initializeImage(registry,bundle,"icons/obj16/ratio.gif",NODE_REWORK_BACKLOG); initializeImage(registry,bundle,"icons/obj16/trend.gif",NODE_MODULARITY_TREND); initializeImage(registry,bundle,"icons/obj16/trend.gif",NODE_ADAPTABILITY_TREND); initializeImage(registry,bundle,"icons/obj16/trend.gif",NODE_MATURITY_TREND); initializeImage(registry,bundle,"icons/obj16/spider.png",FORM_IMAGE); initializeImage(registry,bundle,"icons/obj16/th_horizontal.gif",HORIZONTAL_IMAGE); initializeImage(registry,bundle,"icons/obj16/th_vertical.gif",VERTICAL_IMAGE); initializeImage(registry,bundle,"icons/obj16/commit.gif",COMMIT_IMAGE); initializeImage(registry,bundle,"icons/obj16/critical_changes.gif",NODE_CRITICAL_CHANGE_ORDERS); initializeImage(registry,bundle,"icons/obj16/normal_changes.gif",NODE_NORMAL_CHANGE_ORDERS); initializeImage(registry,bundle,"icons/obj16/improvement_changes.gif",NODE_IMPROVEMENT_CHANGE_ORDERS); initializeImage(registry,bundle,"icons/obj16/new_changes.gif",NODE_NEW_CHANGE_ORDERS); initializeImage(registry,bundle,"icons/obj16/sigma.gif",NODE_TOTAL_CHANGE_ORDERS); initializeImage(registry,bundle,"icons/obj16/artifacts.gif",NODE_TOTAL_SIZE); initializeImage(registry,bundle,"icons/obj16/artifacts.gif",NODE_BROKEN_SIZE); initializeImage(registry,bundle,"icons/obj16/artifacts.gif",NODE_FIXED_SIZE); initializeImage(registry,bundle,"icons/obj16/baselined_lines.gif",NODE_BASELINED_LINES); initializeImage(registry,bundle,"icons/obj16/usage.gif",NODE_USAGE_TIME); initializeImage(registry,bundle,"icons/obj16/development.gif",NODE_DEVELOPMENT_EFFORT); initializeImage(registry,bundle,"icons/obj16/repair.gif",NODE_REPAIR_EFFORT); } }