package org.eclipse.gmf.examples.eclipsecon.diagram.providers; import java.util.IdentityHashMap; import java.util.Map; import org.eclipse.core.runtime.IAdaptable; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.ENamedElement; import org.eclipse.emf.ecore.EStructuralFeature; import org.eclipse.gmf.runtime.common.core.command.ICommand; import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry; import org.eclipse.gmf.runtime.emf.type.core.IElementType; import org.eclipse.gmf.runtime.emf.type.core.IMetamodelType; import org.eclipse.gmf.runtime.emf.type.core.MetamodelType; import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest; import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.resource.ImageRegistry; import org.eclipse.swt.graphics.Image; import org.eclipse.gmf.examples.eclipsecon.EclipseconPackage; import org.eclipse.gmf.examples.eclipsecon.diagram.part.EclipseconDiagramEditorPlugin; import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelper; /** * @generated */ public class EclipseconElementTypes { /** * @generated */ private EclipseconElementTypes() { } /** * @generated */ private static Map elements; /** * @generated */ private static ImageRegistry imageRegistry; /** * @generated */ private static ImageRegistry getImageRegistry() { if (imageRegistry == null) { imageRegistry = new ImageRegistry(); } return imageRegistry; } /** * @generated */ private static String getImageRegistryKey(ENamedElement element) { return element.getName(); } /** * @generated */ private static ImageDescriptor getProvidedImageDescriptor( ENamedElement element) { if (element instanceof EStructuralFeature) { element = ((EStructuralFeature) element).getEContainingClass(); } if (element instanceof EClass) { EClass eClass = (EClass) element; if (!eClass.isAbstract()) { return EclipseconDiagramEditorPlugin.getInstance() .getItemImageDescriptor( eClass.getEPackage().getEFactoryInstance() .create(eClass)); } } // TODO : support structural features return null; } /** * @generated */ public static ImageDescriptor getImageDescriptor(ENamedElement element) { String key = getImageRegistryKey(element); ImageDescriptor imageDescriptor = getImageRegistry().getDescriptor(key); if (imageDescriptor == null) { imageDescriptor = getProvidedImageDescriptor(element); if (imageDescriptor == null) { imageDescriptor = ImageDescriptor.getMissingImageDescriptor(); } getImageRegistry().put(key, imageDescriptor); } return imageDescriptor; } /** * @generated */ public static Image getImage(ENamedElement element) { String key = getImageRegistryKey(element); Image image = getImageRegistry().get(key); if (image == null) { ImageDescriptor imageDescriptor = getProvidedImageDescriptor(element); if (imageDescriptor == null) { imageDescriptor = ImageDescriptor.getMissingImageDescriptor(); } getImageRegistry().put(key, imageDescriptor); image = getImageRegistry().get(key); } return image; } /** * @generated */ public static ImageDescriptor getImageDescriptor(IAdaptable hint) { ENamedElement element = getElement(hint); if (element == null) { return null; } return getImageDescriptor(element); } /** * @generated */ public static Image getImage(IAdaptable hint) { ENamedElement element = getElement(hint); if (element == null) { return null; } return getImage(element); } /** * Returns 'type' of the ecore object associated with the hint. * * @generated */ public static ENamedElement getElement(IAdaptable hint) { Object type = hint.getAdapter(IElementType.class); if (elements == null) { elements = new IdentityHashMap(); elements.put(Conference_79, EclipseconPackage.eINSTANCE .getConference()); elements.put(TimeSlot_2001, EclipseconPackage.eINSTANCE .getTimeSlot()); elements.put(Presenter_1001, EclipseconPackage.eINSTANCE .getPresenter()); elements.put(Tutorial_1002, EclipseconPackage.eINSTANCE .getTutorial()); elements.put(Schedule_1003, EclipseconPackage.eINSTANCE .getSchedule()); elements.put(Resource_1004, EclipseconPackage.eINSTANCE .getResource()); elements .put(Handout_3001, EclipseconPackage.eINSTANCE.getHandout()); elements.put(TutorialAssigned_3002, EclipseconPackage.eINSTANCE .getTutorial_Assigned()); elements.put(TutorialPresenters_3003, EclipseconPackage.eINSTANCE .getTutorial_Presenters()); } return (ENamedElement) elements.get(type); } /** * @generated */ public static final IMetamodelType Conference_79 = new MetamodelType( "Conference_79", null, "Conference", EclipseconPackage.eINSTANCE .getConference(), new NullEditHelper()); /** * @generated */ public static final IMetamodelType TimeSlot_2001 = new MetamodelType( "TimeSlot_2001", null, "TimeSlot", EclipseconPackage.eINSTANCE .getTimeSlot(), new NullEditHelper()); /** * @generated */ public static final IMetamodelType Presenter_1001 = new MetamodelType( "Presenter_1001", null, "Presenter", EclipseconPackage.eINSTANCE .getPresenter(), new NullEditHelper()); /** * @generated */ public static final IMetamodelType Tutorial_1002 = new MetamodelType( "Tutorial_1002", null, "Tutorial", EclipseconPackage.eINSTANCE .getTutorial(), new NullEditHelper()); /** * @generated */ public static final IMetamodelType Schedule_1003 = new MetamodelType( "Schedule_1003", null, "Schedule", EclipseconPackage.eINSTANCE .getSchedule(), new NullEditHelper()); /** * @generated */ public static final IMetamodelType Resource_1004 = new MetamodelType( "Resource_1004", null, "Resource", EclipseconPackage.eINSTANCE .getResource(), new NullEditHelper()); /** * @generated */ public static final IMetamodelType Handout_3001 = new MetamodelType( "Handout_3001", null, "Handout", EclipseconPackage.eINSTANCE .getHandout(), new NullEditHelper()); /** * @generated */ public static final IMetamodelType TutorialAssigned_3002 = new MetamodelType( "TutorialAssigned_3002", null, "TutorialAssigned", null, new NullEditHelper()); /** * @generated */ public static final IMetamodelType TutorialPresenters_3003 = new MetamodelType( "TutorialPresenters_3003", null, "TutorialPresenters", null, new NullEditHelper()); /** * @generated */ public static void register() { ElementTypeRegistry.getInstance().register(Conference_79); ElementTypeRegistry.getInstance().register(TimeSlot_2001); ElementTypeRegistry.getInstance().register(Presenter_1001); ElementTypeRegistry.getInstance().register(Tutorial_1002); ElementTypeRegistry.getInstance().register(Schedule_1003); ElementTypeRegistry.getInstance().register(Resource_1004); ElementTypeRegistry.getInstance().register(Handout_3001); ElementTypeRegistry.getInstance().register(TutorialAssigned_3002); ElementTypeRegistry.getInstance().register(TutorialPresenters_3003); } /** * @generated */ public static class NullEditHelper extends AbstractEditHelper { /** * @generated */ public ICommand getEditCommand(IEditCommandRequest req) { if (!(req instanceof ConfigureRequest)) { EclipseconDiagramEditorPlugin.getInstance().logError( "unserved request " + req); } return null; } } }