/** * Copyright (c) 2008, 2015 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * IBM Corporation - initial API and implementation */ package org.eclipse.e4.ui.model.application.ui.basic.impl; import java.util.Collection; import java.util.List; import java.util.Map; import org.eclipse.e4.core.contexts.IEclipseContext; import org.eclipse.e4.ui.model.LocalizationHelper; import org.eclipse.e4.ui.model.application.MContribution; import org.eclipse.e4.ui.model.application.commands.MBindingContext; import org.eclipse.e4.ui.model.application.commands.MBindings; import org.eclipse.e4.ui.model.application.commands.MHandler; import org.eclipse.e4.ui.model.application.commands.MHandlerContainer; import org.eclipse.e4.ui.model.application.commands.impl.CommandsPackageImpl; import org.eclipse.e4.ui.model.application.impl.ApplicationPackageImpl; import org.eclipse.e4.ui.model.application.impl.StringToStringMapImpl; import org.eclipse.e4.ui.model.application.ui.MContext; import org.eclipse.e4.ui.model.application.ui.MDirtyable; import org.eclipse.e4.ui.model.application.ui.MUILabel; import org.eclipse.e4.ui.model.application.ui.basic.MPart; import org.eclipse.e4.ui.model.application.ui.basic.MPartSashContainerElement; import org.eclipse.e4.ui.model.application.ui.basic.MStackElement; import org.eclipse.e4.ui.model.application.ui.basic.MTrimBar; import org.eclipse.e4.ui.model.application.ui.basic.MWindowElement; import org.eclipse.e4.ui.model.application.ui.impl.UIElementImpl; import org.eclipse.e4.ui.model.application.ui.impl.UiPackageImpl; import org.eclipse.e4.ui.model.application.ui.menu.MMenu; import org.eclipse.e4.ui.model.application.ui.menu.MToolBar; import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.common.notify.NotificationChain; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.common.util.EMap; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EStructuralFeature; import org.eclipse.emf.ecore.InternalEObject; import org.eclipse.emf.ecore.impl.ENotificationImpl; import org.eclipse.emf.ecore.util.EDataTypeUniqueEList; import org.eclipse.emf.ecore.util.EObjectContainmentEList; import org.eclipse.emf.ecore.util.EObjectResolvingEList; import org.eclipse.emf.ecore.util.EcoreEMap; import org.eclipse.emf.ecore.util.InternalEList; /** * <!-- begin-user-doc --> * An implementation of the model object '<em><b>Part</b></em>'. * <!-- end-user-doc --> * <p> * The following features are implemented: * </p> * <ul> * <li>{@link org.eclipse.e4.ui.model.application.ui.basic.impl.PartImpl#getContributionURI <em>Contribution URI</em>}</li> * <li>{@link org.eclipse.e4.ui.model.application.ui.basic.impl.PartImpl#getObject <em>Object</em>}</li> * <li>{@link org.eclipse.e4.ui.model.application.ui.basic.impl.PartImpl#getContext <em>Context</em>}</li> * <li>{@link org.eclipse.e4.ui.model.application.ui.basic.impl.PartImpl#getVariables <em>Variables</em>}</li> * <li>{@link org.eclipse.e4.ui.model.application.ui.basic.impl.PartImpl#getProperties <em>Properties</em>}</li> * <li>{@link org.eclipse.e4.ui.model.application.ui.basic.impl.PartImpl#getLabel <em>Label</em>}</li> * <li>{@link org.eclipse.e4.ui.model.application.ui.basic.impl.PartImpl#getIconURI <em>Icon URI</em>}</li> * <li>{@link org.eclipse.e4.ui.model.application.ui.basic.impl.PartImpl#getTooltip <em>Tooltip</em>}</li> * <li>{@link org.eclipse.e4.ui.model.application.ui.basic.impl.PartImpl#getLocalizedLabel <em>Localized Label</em>}</li> * <li>{@link org.eclipse.e4.ui.model.application.ui.basic.impl.PartImpl#getLocalizedTooltip <em>Localized Tooltip</em>}</li> * <li>{@link org.eclipse.e4.ui.model.application.ui.basic.impl.PartImpl#getHandlers <em>Handlers</em>}</li> * <li>{@link org.eclipse.e4.ui.model.application.ui.basic.impl.PartImpl#isDirty <em>Dirty</em>}</li> * <li>{@link org.eclipse.e4.ui.model.application.ui.basic.impl.PartImpl#getBindingContexts <em>Binding Contexts</em>}</li> * <li>{@link org.eclipse.e4.ui.model.application.ui.basic.impl.PartImpl#getMenus <em>Menus</em>}</li> * <li>{@link org.eclipse.e4.ui.model.application.ui.basic.impl.PartImpl#getToolbar <em>Toolbar</em>}</li> * <li>{@link org.eclipse.e4.ui.model.application.ui.basic.impl.PartImpl#isCloseable <em>Closeable</em>}</li> * <li>{@link org.eclipse.e4.ui.model.application.ui.basic.impl.PartImpl#getDescription <em>Description</em>}</li> * <li>{@link org.eclipse.e4.ui.model.application.ui.basic.impl.PartImpl#getLocalizedDescription <em>Localized Description</em>}</li> * <li>{@link org.eclipse.e4.ui.model.application.ui.basic.impl.PartImpl#getTrimBars <em>Trim Bars</em>}</li> * </ul> * * @generated */ public class PartImpl extends UIElementImpl implements MPart { /** * The default value of the '{@link #getContributionURI() <em>Contribution URI</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getContributionURI() * @generated * @ordered */ protected static final String CONTRIBUTION_URI_EDEFAULT = null; /** * The cached value of the '{@link #getContributionURI() <em>Contribution URI</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getContributionURI() * @generated * @ordered */ protected String contributionURI = CONTRIBUTION_URI_EDEFAULT; /** * The default value of the '{@link #getObject() <em>Object</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getObject() * @generated * @ordered */ protected static final Object OBJECT_EDEFAULT = null; /** * The cached value of the '{@link #getObject() <em>Object</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getObject() * @generated * @ordered */ protected Object object = OBJECT_EDEFAULT; /** * The default value of the '{@link #getContext() <em>Context</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getContext() * @generated * @ordered */ protected static final IEclipseContext CONTEXT_EDEFAULT = null; /** * The cached value of the '{@link #getContext() <em>Context</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getContext() * @generated * @ordered */ protected IEclipseContext context = CONTEXT_EDEFAULT; /** * The cached value of the '{@link #getVariables() <em>Variables</em>}' attribute list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getVariables() * @generated * @ordered */ protected EList<String> variables; /** * The cached value of the '{@link #getProperties() <em>Properties</em>}' map. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getProperties() * @generated * @ordered */ protected EMap<String, String> properties; /** * The default value of the '{@link #getLabel() <em>Label</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getLabel() * @generated * @ordered */ protected static final String LABEL_EDEFAULT = null; /** * The cached value of the '{@link #getLabel() <em>Label</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getLabel() * @generated * @ordered */ protected String label = LABEL_EDEFAULT; /** * The default value of the '{@link #getIconURI() <em>Icon URI</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getIconURI() * @generated * @ordered */ protected static final String ICON_URI_EDEFAULT = null; /** * The cached value of the '{@link #getIconURI() <em>Icon URI</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getIconURI() * @generated * @ordered */ protected String iconURI = ICON_URI_EDEFAULT; /** * The default value of the '{@link #getTooltip() <em>Tooltip</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getTooltip() * @generated * @ordered */ protected static final String TOOLTIP_EDEFAULT = null; /** * The cached value of the '{@link #getTooltip() <em>Tooltip</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getTooltip() * @generated * @ordered */ protected String tooltip = TOOLTIP_EDEFAULT; /** * The default value of the '{@link #getLocalizedLabel() <em>Localized Label</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getLocalizedLabel() * @generated * @ordered */ protected static final String LOCALIZED_LABEL_EDEFAULT = ""; //$NON-NLS-1$ /** * The default value of the '{@link #getLocalizedTooltip() <em>Localized Tooltip</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getLocalizedTooltip() * @generated * @ordered */ protected static final String LOCALIZED_TOOLTIP_EDEFAULT = ""; //$NON-NLS-1$ /** * The cached value of the '{@link #getHandlers() <em>Handlers</em>}' containment reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getHandlers() * @generated * @ordered */ protected EList<MHandler> handlers; /** * The default value of the '{@link #isDirty() <em>Dirty</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #isDirty() * @generated * @ordered */ protected static final boolean DIRTY_EDEFAULT = false; /** * The cached value of the '{@link #isDirty() <em>Dirty</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #isDirty() * @generated * @ordered */ protected boolean dirty = DIRTY_EDEFAULT; /** * The cached value of the '{@link #getBindingContexts() <em>Binding Contexts</em>}' reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getBindingContexts() * @generated * @ordered */ protected EList<MBindingContext> bindingContexts; /** * The cached value of the '{@link #getMenus() <em>Menus</em>}' containment reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getMenus() * @generated * @ordered */ protected EList<MMenu> menus; /** * The cached value of the '{@link #getToolbar() <em>Toolbar</em>}' containment reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getToolbar() * @generated * @ordered */ protected MToolBar toolbar; /** * The default value of the '{@link #isCloseable() <em>Closeable</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #isCloseable() * @generated * @ordered */ protected static final boolean CLOSEABLE_EDEFAULT = false; /** * The cached value of the '{@link #isCloseable() <em>Closeable</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #isCloseable() * @generated * @ordered */ protected boolean closeable = CLOSEABLE_EDEFAULT; /** * The default value of the '{@link #getDescription() <em>Description</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getDescription() * @generated * @ordered */ protected static final String DESCRIPTION_EDEFAULT = null; /** * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getDescription() * @generated * @ordered */ protected String description = DESCRIPTION_EDEFAULT; /** * The default value of the '{@link #getLocalizedDescription() <em>Localized Description</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getLocalizedDescription() * @generated * @ordered */ protected static final String LOCALIZED_DESCRIPTION_EDEFAULT = null; /** * The cached value of the '{@link #getTrimBars() <em>Trim Bars</em>}' containment reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getTrimBars() * @generated * @ordered */ protected EList<MTrimBar> trimBars; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected PartImpl() { super(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override protected EClass eStaticClass() { return BasicPackageImpl.Literals.PART; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String getContributionURI() { return contributionURI; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setContributionURI(String newContributionURI) { String oldContributionURI = contributionURI; contributionURI = newContributionURI; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, BasicPackageImpl.PART__CONTRIBUTION_URI, oldContributionURI, contributionURI)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Object getObject() { return object; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setObject(Object newObject) { Object oldObject = object; object = newObject; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, BasicPackageImpl.PART__OBJECT, oldObject, object)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public IEclipseContext getContext() { return context; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setContext(IEclipseContext newContext) { IEclipseContext oldContext = context; context = newContext; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, BasicPackageImpl.PART__CONTEXT, oldContext, context)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public List<String> getVariables() { if (variables == null) { variables = new EDataTypeUniqueEList<String>(String.class, this, BasicPackageImpl.PART__VARIABLES); } return variables; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Map<String, String> getProperties() { if (properties == null) { properties = new EcoreEMap<String,String>(ApplicationPackageImpl.Literals.STRING_TO_STRING_MAP, StringToStringMapImpl.class, this, BasicPackageImpl.PART__PROPERTIES); } return properties.map(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String getLabel() { return label; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setLabel(String newLabel) { String oldLabel = label; label = newLabel; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, BasicPackageImpl.PART__LABEL, oldLabel, label)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String getIconURI() { return iconURI; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setIconURI(String newIconURI) { String oldIconURI = iconURI; iconURI = newIconURI; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, BasicPackageImpl.PART__ICON_URI, oldIconURI, iconURI)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String getTooltip() { return tooltip; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setTooltip(String newTooltip) { String oldTooltip = tooltip; tooltip = newTooltip; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, BasicPackageImpl.PART__TOOLTIP, oldTooltip, tooltip)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public List<MHandler> getHandlers() { if (handlers == null) { handlers = new EObjectContainmentEList<MHandler>(MHandler.class, this, BasicPackageImpl.PART__HANDLERS); } return handlers; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public boolean isDirty() { return dirty; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setDirty(boolean newDirty) { boolean oldDirty = dirty; dirty = newDirty; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, BasicPackageImpl.PART__DIRTY, oldDirty, dirty)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public List<MBindingContext> getBindingContexts() { if (bindingContexts == null) { bindingContexts = new EObjectResolvingEList<MBindingContext>(MBindingContext.class, this, BasicPackageImpl.PART__BINDING_CONTEXTS); } return bindingContexts; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public List<MMenu> getMenus() { if (menus == null) { menus = new EObjectContainmentEList<MMenu>(MMenu.class, this, BasicPackageImpl.PART__MENUS); } return menus; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public MToolBar getToolbar() { return toolbar; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public NotificationChain basicSetToolbar(MToolBar newToolbar, NotificationChain msgs) { MToolBar oldToolbar = toolbar; toolbar = newToolbar; if (eNotificationRequired()) { ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, BasicPackageImpl.PART__TOOLBAR, oldToolbar, newToolbar); if (msgs == null) msgs = notification; else msgs.add(notification); } return msgs; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setToolbar(MToolBar newToolbar) { if (newToolbar != toolbar) { NotificationChain msgs = null; if (toolbar != null) msgs = ((InternalEObject)toolbar).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - BasicPackageImpl.PART__TOOLBAR, null, msgs); if (newToolbar != null) msgs = ((InternalEObject)newToolbar).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - BasicPackageImpl.PART__TOOLBAR, null, msgs); msgs = basicSetToolbar(newToolbar, msgs); if (msgs != null) msgs.dispatch(); } else if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, BasicPackageImpl.PART__TOOLBAR, newToolbar, newToolbar)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public boolean isCloseable() { return closeable; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setCloseable(boolean newCloseable) { boolean oldCloseable = closeable; closeable = newCloseable; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, BasicPackageImpl.PART__CLOSEABLE, oldCloseable, closeable)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String getDescription() { return description; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setDescription(String newDescription) { String oldDescription = description; description = newDescription; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, BasicPackageImpl.PART__DESCRIPTION, oldDescription, description)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> */ public String getLocalizedDescription() { return LocalizationHelper.getLocalizedFeature(BasicPackageImpl.Literals.PART__DESCRIPTION, this); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public List<MTrimBar> getTrimBars() { if (trimBars == null) { trimBars = new EObjectContainmentEList<MTrimBar>(MTrimBar.class, this, BasicPackageImpl.PART__TRIM_BARS); } return trimBars; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> */ @Override public void updateLocalization() { if (eNotificationRequired()) { eNotify(new ENotificationImpl( this, Notification.SET, BasicPackageImpl.PART__LOCALIZED_LABEL, null, getLocalizedLabel())); eNotify(new ENotificationImpl( this, Notification.SET, BasicPackageImpl.PART__LOCALIZED_TOOLTIP, null, getLocalizedTooltip())); eNotify(new ENotificationImpl( this, Notification.SET, BasicPackageImpl.PART__LOCALIZED_DESCRIPTION, null, getLocalizedDescription())); } } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> */ public String getLocalizedLabel() { return LocalizationHelper.getLocalizedLabel(this); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> */ public String getLocalizedTooltip() { return LocalizationHelper.getLocalizedTooltip(this); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { switch (featureID) { case BasicPackageImpl.PART__PROPERTIES: return ((InternalEList<?>)((EMap.InternalMapView<String, String>)getProperties()).eMap()).basicRemove(otherEnd, msgs); case BasicPackageImpl.PART__HANDLERS: return ((InternalEList<?>)getHandlers()).basicRemove(otherEnd, msgs); case BasicPackageImpl.PART__MENUS: return ((InternalEList<?>)getMenus()).basicRemove(otherEnd, msgs); case BasicPackageImpl.PART__TOOLBAR: return basicSetToolbar(null, msgs); case BasicPackageImpl.PART__TRIM_BARS: return ((InternalEList<?>)getTrimBars()).basicRemove(otherEnd, msgs); } return super.eInverseRemove(otherEnd, featureID, msgs); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Object eGet(int featureID, boolean resolve, boolean coreType) { switch (featureID) { case BasicPackageImpl.PART__CONTRIBUTION_URI: return getContributionURI(); case BasicPackageImpl.PART__OBJECT: return getObject(); case BasicPackageImpl.PART__CONTEXT: return getContext(); case BasicPackageImpl.PART__VARIABLES: return getVariables(); case BasicPackageImpl.PART__PROPERTIES: if (coreType) return ((EMap.InternalMapView<String, String>)getProperties()).eMap(); else return getProperties(); case BasicPackageImpl.PART__LABEL: return getLabel(); case BasicPackageImpl.PART__ICON_URI: return getIconURI(); case BasicPackageImpl.PART__TOOLTIP: return getTooltip(); case BasicPackageImpl.PART__LOCALIZED_LABEL: return getLocalizedLabel(); case BasicPackageImpl.PART__LOCALIZED_TOOLTIP: return getLocalizedTooltip(); case BasicPackageImpl.PART__HANDLERS: return getHandlers(); case BasicPackageImpl.PART__DIRTY: return isDirty(); case BasicPackageImpl.PART__BINDING_CONTEXTS: return getBindingContexts(); case BasicPackageImpl.PART__MENUS: return getMenus(); case BasicPackageImpl.PART__TOOLBAR: return getToolbar(); case BasicPackageImpl.PART__CLOSEABLE: return isCloseable(); case BasicPackageImpl.PART__DESCRIPTION: return getDescription(); case BasicPackageImpl.PART__LOCALIZED_DESCRIPTION: return getLocalizedDescription(); case BasicPackageImpl.PART__TRIM_BARS: return getTrimBars(); } return super.eGet(featureID, resolve, coreType); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @SuppressWarnings("unchecked") @Override public void eSet(int featureID, Object newValue) { switch (featureID) { case BasicPackageImpl.PART__CONTRIBUTION_URI: setContributionURI((String)newValue); return; case BasicPackageImpl.PART__OBJECT: setObject(newValue); return; case BasicPackageImpl.PART__CONTEXT: setContext((IEclipseContext)newValue); return; case BasicPackageImpl.PART__VARIABLES: getVariables().clear(); getVariables().addAll((Collection<? extends String>)newValue); return; case BasicPackageImpl.PART__PROPERTIES: ((EStructuralFeature.Setting)((EMap.InternalMapView<String, String>)getProperties()).eMap()).set(newValue); return; case BasicPackageImpl.PART__LABEL: setLabel((String)newValue); return; case BasicPackageImpl.PART__ICON_URI: setIconURI((String)newValue); return; case BasicPackageImpl.PART__TOOLTIP: setTooltip((String)newValue); return; case BasicPackageImpl.PART__HANDLERS: getHandlers().clear(); getHandlers().addAll((Collection<? extends MHandler>)newValue); return; case BasicPackageImpl.PART__DIRTY: setDirty((Boolean)newValue); return; case BasicPackageImpl.PART__BINDING_CONTEXTS: getBindingContexts().clear(); getBindingContexts().addAll((Collection<? extends MBindingContext>)newValue); return; case BasicPackageImpl.PART__MENUS: getMenus().clear(); getMenus().addAll((Collection<? extends MMenu>)newValue); return; case BasicPackageImpl.PART__TOOLBAR: setToolbar((MToolBar)newValue); return; case BasicPackageImpl.PART__CLOSEABLE: setCloseable((Boolean)newValue); return; case BasicPackageImpl.PART__DESCRIPTION: setDescription((String)newValue); return; case BasicPackageImpl.PART__TRIM_BARS: getTrimBars().clear(); getTrimBars().addAll((Collection<? extends MTrimBar>)newValue); return; } super.eSet(featureID, newValue); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public void eUnset(int featureID) { switch (featureID) { case BasicPackageImpl.PART__CONTRIBUTION_URI: setContributionURI(CONTRIBUTION_URI_EDEFAULT); return; case BasicPackageImpl.PART__OBJECT: setObject(OBJECT_EDEFAULT); return; case BasicPackageImpl.PART__CONTEXT: setContext(CONTEXT_EDEFAULT); return; case BasicPackageImpl.PART__VARIABLES: getVariables().clear(); return; case BasicPackageImpl.PART__PROPERTIES: getProperties().clear(); return; case BasicPackageImpl.PART__LABEL: setLabel(LABEL_EDEFAULT); return; case BasicPackageImpl.PART__ICON_URI: setIconURI(ICON_URI_EDEFAULT); return; case BasicPackageImpl.PART__TOOLTIP: setTooltip(TOOLTIP_EDEFAULT); return; case BasicPackageImpl.PART__HANDLERS: getHandlers().clear(); return; case BasicPackageImpl.PART__DIRTY: setDirty(DIRTY_EDEFAULT); return; case BasicPackageImpl.PART__BINDING_CONTEXTS: getBindingContexts().clear(); return; case BasicPackageImpl.PART__MENUS: getMenus().clear(); return; case BasicPackageImpl.PART__TOOLBAR: setToolbar((MToolBar)null); return; case BasicPackageImpl.PART__CLOSEABLE: setCloseable(CLOSEABLE_EDEFAULT); return; case BasicPackageImpl.PART__DESCRIPTION: setDescription(DESCRIPTION_EDEFAULT); return; case BasicPackageImpl.PART__TRIM_BARS: getTrimBars().clear(); return; } super.eUnset(featureID); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public boolean eIsSet(int featureID) { switch (featureID) { case BasicPackageImpl.PART__CONTRIBUTION_URI: return CONTRIBUTION_URI_EDEFAULT == null ? contributionURI != null : !CONTRIBUTION_URI_EDEFAULT.equals(contributionURI); case BasicPackageImpl.PART__OBJECT: return OBJECT_EDEFAULT == null ? object != null : !OBJECT_EDEFAULT.equals(object); case BasicPackageImpl.PART__CONTEXT: return CONTEXT_EDEFAULT == null ? context != null : !CONTEXT_EDEFAULT.equals(context); case BasicPackageImpl.PART__VARIABLES: return variables != null && !variables.isEmpty(); case BasicPackageImpl.PART__PROPERTIES: return properties != null && !properties.isEmpty(); case BasicPackageImpl.PART__LABEL: return LABEL_EDEFAULT == null ? label != null : !LABEL_EDEFAULT.equals(label); case BasicPackageImpl.PART__ICON_URI: return ICON_URI_EDEFAULT == null ? iconURI != null : !ICON_URI_EDEFAULT.equals(iconURI); case BasicPackageImpl.PART__TOOLTIP: return TOOLTIP_EDEFAULT == null ? tooltip != null : !TOOLTIP_EDEFAULT.equals(tooltip); case BasicPackageImpl.PART__LOCALIZED_LABEL: return LOCALIZED_LABEL_EDEFAULT == null ? getLocalizedLabel() != null : !LOCALIZED_LABEL_EDEFAULT.equals(getLocalizedLabel()); case BasicPackageImpl.PART__LOCALIZED_TOOLTIP: return LOCALIZED_TOOLTIP_EDEFAULT == null ? getLocalizedTooltip() != null : !LOCALIZED_TOOLTIP_EDEFAULT.equals(getLocalizedTooltip()); case BasicPackageImpl.PART__HANDLERS: return handlers != null && !handlers.isEmpty(); case BasicPackageImpl.PART__DIRTY: return dirty != DIRTY_EDEFAULT; case BasicPackageImpl.PART__BINDING_CONTEXTS: return bindingContexts != null && !bindingContexts.isEmpty(); case BasicPackageImpl.PART__MENUS: return menus != null && !menus.isEmpty(); case BasicPackageImpl.PART__TOOLBAR: return toolbar != null; case BasicPackageImpl.PART__CLOSEABLE: return closeable != CLOSEABLE_EDEFAULT; case BasicPackageImpl.PART__DESCRIPTION: return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description); case BasicPackageImpl.PART__LOCALIZED_DESCRIPTION: return LOCALIZED_DESCRIPTION_EDEFAULT == null ? getLocalizedDescription() != null : !LOCALIZED_DESCRIPTION_EDEFAULT.equals(getLocalizedDescription()); case BasicPackageImpl.PART__TRIM_BARS: return trimBars != null && !trimBars.isEmpty(); } return super.eIsSet(featureID); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) { if (baseClass == MPartSashContainerElement.class) { switch (derivedFeatureID) { default: return -1; } } if (baseClass == MStackElement.class) { switch (derivedFeatureID) { default: return -1; } } if (baseClass == MContribution.class) { switch (derivedFeatureID) { case BasicPackageImpl.PART__CONTRIBUTION_URI: return ApplicationPackageImpl.CONTRIBUTION__CONTRIBUTION_URI; case BasicPackageImpl.PART__OBJECT: return ApplicationPackageImpl.CONTRIBUTION__OBJECT; default: return -1; } } if (baseClass == MContext.class) { switch (derivedFeatureID) { case BasicPackageImpl.PART__CONTEXT: return UiPackageImpl.CONTEXT__CONTEXT; case BasicPackageImpl.PART__VARIABLES: return UiPackageImpl.CONTEXT__VARIABLES; case BasicPackageImpl.PART__PROPERTIES: return UiPackageImpl.CONTEXT__PROPERTIES; default: return -1; } } if (baseClass == MUILabel.class) { switch (derivedFeatureID) { case BasicPackageImpl.PART__LABEL: return UiPackageImpl.UI_LABEL__LABEL; case BasicPackageImpl.PART__ICON_URI: return UiPackageImpl.UI_LABEL__ICON_URI; case BasicPackageImpl.PART__TOOLTIP: return UiPackageImpl.UI_LABEL__TOOLTIP; case BasicPackageImpl.PART__LOCALIZED_LABEL: return UiPackageImpl.UI_LABEL__LOCALIZED_LABEL; case BasicPackageImpl.PART__LOCALIZED_TOOLTIP: return UiPackageImpl.UI_LABEL__LOCALIZED_TOOLTIP; default: return -1; } } if (baseClass == MHandlerContainer.class) { switch (derivedFeatureID) { case BasicPackageImpl.PART__HANDLERS: return CommandsPackageImpl.HANDLER_CONTAINER__HANDLERS; default: return -1; } } if (baseClass == MDirtyable.class) { switch (derivedFeatureID) { case BasicPackageImpl.PART__DIRTY: return UiPackageImpl.DIRTYABLE__DIRTY; default: return -1; } } if (baseClass == MBindings.class) { switch (derivedFeatureID) { case BasicPackageImpl.PART__BINDING_CONTEXTS: return CommandsPackageImpl.BINDINGS__BINDING_CONTEXTS; default: return -1; } } if (baseClass == MWindowElement.class) { switch (derivedFeatureID) { default: return -1; } } return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) { if (baseClass == MPartSashContainerElement.class) { switch (baseFeatureID) { default: return -1; } } if (baseClass == MStackElement.class) { switch (baseFeatureID) { default: return -1; } } if (baseClass == MContribution.class) { switch (baseFeatureID) { case ApplicationPackageImpl.CONTRIBUTION__CONTRIBUTION_URI: return BasicPackageImpl.PART__CONTRIBUTION_URI; case ApplicationPackageImpl.CONTRIBUTION__OBJECT: return BasicPackageImpl.PART__OBJECT; default: return -1; } } if (baseClass == MContext.class) { switch (baseFeatureID) { case UiPackageImpl.CONTEXT__CONTEXT: return BasicPackageImpl.PART__CONTEXT; case UiPackageImpl.CONTEXT__VARIABLES: return BasicPackageImpl.PART__VARIABLES; case UiPackageImpl.CONTEXT__PROPERTIES: return BasicPackageImpl.PART__PROPERTIES; default: return -1; } } if (baseClass == MUILabel.class) { switch (baseFeatureID) { case UiPackageImpl.UI_LABEL__LABEL: return BasicPackageImpl.PART__LABEL; case UiPackageImpl.UI_LABEL__ICON_URI: return BasicPackageImpl.PART__ICON_URI; case UiPackageImpl.UI_LABEL__TOOLTIP: return BasicPackageImpl.PART__TOOLTIP; case UiPackageImpl.UI_LABEL__LOCALIZED_LABEL: return BasicPackageImpl.PART__LOCALIZED_LABEL; case UiPackageImpl.UI_LABEL__LOCALIZED_TOOLTIP: return BasicPackageImpl.PART__LOCALIZED_TOOLTIP; default: return -1; } } if (baseClass == MHandlerContainer.class) { switch (baseFeatureID) { case CommandsPackageImpl.HANDLER_CONTAINER__HANDLERS: return BasicPackageImpl.PART__HANDLERS; default: return -1; } } if (baseClass == MDirtyable.class) { switch (baseFeatureID) { case UiPackageImpl.DIRTYABLE__DIRTY: return BasicPackageImpl.PART__DIRTY; default: return -1; } } if (baseClass == MBindings.class) { switch (baseFeatureID) { case CommandsPackageImpl.BINDINGS__BINDING_CONTEXTS: return BasicPackageImpl.PART__BINDING_CONTEXTS; default: return -1; } } if (baseClass == MWindowElement.class) { switch (baseFeatureID) { default: return -1; } } return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public String toString() { if (eIsProxy()) return super.toString(); StringBuffer result = new StringBuffer(super.toString()); result.append(" (contributionURI: "); //$NON-NLS-1$ result.append(contributionURI); result.append(", object: "); //$NON-NLS-1$ result.append(object); result.append(", context: "); //$NON-NLS-1$ result.append(context); result.append(", variables: "); //$NON-NLS-1$ result.append(variables); result.append(", label: "); //$NON-NLS-1$ result.append(label); result.append(", iconURI: "); //$NON-NLS-1$ result.append(iconURI); result.append(", tooltip: "); //$NON-NLS-1$ result.append(tooltip); result.append(", dirty: "); //$NON-NLS-1$ result.append(dirty); result.append(", closeable: "); //$NON-NLS-1$ result.append(closeable); result.append(", description: "); //$NON-NLS-1$ result.append(description); result.append(')'); return result.toString(); } } //PartImpl