/** * Generated with Acceleo */ package org.eclipse.emf.ecoretools.design.properties.ecore.providers; import java.util.List; import org.eclipse.emf.ecore.EEnum; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EcorePackage; import org.eclipse.emf.ecoretools.design.properties.ecore.components.EEnumDataTypePropertiesEditionComponent; import org.eclipse.emf.ecoretools.design.properties.ecore.components.EEnumInstanciationPropertiesEditionComponent; import org.eclipse.emf.ecoretools.design.properties.ecore.components.EEnumPropertiesEditionComponent; import org.eclipse.emf.eef.runtime.api.component.IPropertiesEditionComponent; import org.eclipse.emf.eef.runtime.context.PropertiesEditingContext; import org.eclipse.emf.eef.runtime.impl.utils.EEFUtils; import org.eclipse.emf.eef.runtime.providers.PropertiesEditingProvider; import org.eclipse.emf.eef.runtime.providers.impl.PropertiesEditingProviderImpl; import org.eclipse.jface.viewers.IFilter; /** * * */ public class EEnumPropertiesEditionProvider extends PropertiesEditingProviderImpl { /** * Constructor without provider for super types. */ public EEnumPropertiesEditionProvider() { super(); } /** * Constructor with providers for super types. * @param superProviders providers to use for super types. */ public EEnumPropertiesEditionProvider(List<PropertiesEditingProvider> superProviders) { super(superProviders); } /** * {@inheritDoc} * @see org.eclipse.emf.eef.runtime.providers.PropertiesEditingProvider#provides(org.eclipse.emf.eef.runtime.context.PropertiesEditingContext) * */ public boolean provides(PropertiesEditingContext editingContext) { return (editingContext.getEObject() instanceof EEnum) && (EcorePackage.Literals.EENUM == editingContext.getEObject().eClass()); } /** * {@inheritDoc} * @see org.eclipse.emf.eef.runtime.providers.PropertiesEditingProvider#provides(org.eclipse.emf.eef.runtime.context.PropertiesEditingContext, java.lang.String) * */ public boolean provides(PropertiesEditingContext editingContext, String part) { return (editingContext.getEObject() instanceof EEnum) && (EEnumDataTypePropertiesEditionComponent.DATATYPE_PART.equals(part) || EEnumInstanciationPropertiesEditionComponent.INSTANCIATION_PART.equals(part)); } /** * {@inheritDoc} * @see org.eclipse.emf.eef.runtime.providers.PropertiesEditingProvider#provides(org.eclipse.emf.eef.runtime.context.PropertiesEditingContext, java.lang.Class) * */ @SuppressWarnings("rawtypes") public boolean provides(PropertiesEditingContext editingContext, java.lang.Class refinement) { return (editingContext.getEObject() instanceof EEnum) && (refinement == EEnumDataTypePropertiesEditionComponent.class || refinement == EEnumInstanciationPropertiesEditionComponent.class); } /** * {@inheritDoc} * @see org.eclipse.emf.eef.runtime.providers.PropertiesEditingProvider#provides(org.eclipse.emf.eef.runtime.context.PropertiesEditingContext, java.lang.String, java.lang.Class) * */ @SuppressWarnings("rawtypes") public boolean provides(PropertiesEditingContext editingContext, String part, java.lang.Class refinement) { return (editingContext.getEObject() instanceof EEnum) && ((EEnumDataTypePropertiesEditionComponent.DATATYPE_PART.equals(part) && refinement == EEnumDataTypePropertiesEditionComponent.class) || (EEnumInstanciationPropertiesEditionComponent.INSTANCIATION_PART.equals(part) && refinement == EEnumInstanciationPropertiesEditionComponent.class)); } /** * {@inheritDoc} * @see org.eclipse.emf.eef.runtime.providers.PropertiesEditingProvider#getPropertiesEditingComponent(org.eclipse.emf.eef.runtime.context.PropertiesEditingContext, java.lang.String) * */ public IPropertiesEditionComponent getPropertiesEditingComponent(PropertiesEditingContext editingContext, String mode) { if (editingContext.getEObject() instanceof EEnum) { return new EEnumPropertiesEditionComponent(editingContext, editingContext.getEObject(), mode); } return super.getPropertiesEditingComponent(editingContext, mode); } /** * {@inheritDoc} * @see org.eclipse.emf.eef.runtime.providers.PropertiesEditingProvider#getPropertiesEditingComponent(org.eclipse.emf.eef.runtime.context.PropertiesEditingContext, java.lang.String, java.lang.String) * */ public IPropertiesEditionComponent getPropertiesEditingComponent(PropertiesEditingContext editingContext, String mode, String part) { if (editingContext.getEObject() instanceof EEnum) { if (EEnumDataTypePropertiesEditionComponent.DATATYPE_PART.equals(part)) return new EEnumDataTypePropertiesEditionComponent(editingContext, editingContext.getEObject(), mode); if (EEnumInstanciationPropertiesEditionComponent.INSTANCIATION_PART.equals(part)) return new EEnumInstanciationPropertiesEditionComponent(editingContext, editingContext.getEObject(), mode); } return super.getPropertiesEditingComponent(editingContext, mode, part); } /** * {@inheritDoc} * @see org.eclipse.emf.eef.runtime.providers.PropertiesEditingProvider#getPropertiesEditingComponent(org.eclipse.emf.eef.runtime.context.PropertiesEditingContext, java.lang.String, java.lang.String, java.lang.Class) */ @SuppressWarnings("rawtypes") public IPropertiesEditionComponent getPropertiesEditingComponent(PropertiesEditingContext editingContext, String mode, String part, java.lang.Class refinement) { if (editingContext.getEObject() instanceof EEnum) { if (EEnumDataTypePropertiesEditionComponent.DATATYPE_PART.equals(part) && refinement == EEnumDataTypePropertiesEditionComponent.class) return new EEnumDataTypePropertiesEditionComponent(editingContext, editingContext.getEObject(), mode); if (EEnumInstanciationPropertiesEditionComponent.INSTANCIATION_PART.equals(part) && refinement == EEnumInstanciationPropertiesEditionComponent.class) return new EEnumInstanciationPropertiesEditionComponent(editingContext, editingContext.getEObject(), mode); } return super.getPropertiesEditingComponent(editingContext, mode, part, refinement); } /** * Provides the filter used by the plugin.xml to assign part forms. */ public static class EditionFilter implements IFilter { /** * {@inheritDoc} * * @see org.eclipse.jface.viewers.IFilter#select(java.lang.Object) */ public boolean select(Object toTest) { EObject eObj = EEFUtils.resolveSemanticObject(toTest); return eObj != null && EcorePackage.Literals.EENUM == eObj.eClass(); } } }