/** | |
* Copyright (c) 2009-2010 Thales Corporate Services S.A.S. | |
* This program and the accompanying materials | |
* are made available under the terms of the Eclipse Public License v2.0 | |
* which accompanies this distribution, and is available at | |
* https://www.eclipse.org/legal/epl-v2.0 | |
* | |
* SPDX-License-Identifier: EPL-2.0 | |
* | |
* Contributors: | |
* Thales Corporate Services S.A.S - initial API and implementation | |
* | |
* $Id$ | |
*/ | |
package org.eclipse.egf.portfolio.eclipse.build.buildcore.provider; | |
import java.util.Collection; | |
import java.util.List; | |
import org.eclipse.egf.portfolio.eclipse.build.buildcore.BuildcoreFactory; | |
import org.eclipse.egf.portfolio.eclipse.build.buildcore.BuildcorePackage; | |
import org.eclipse.egf.portfolio.eclipse.build.buildcore.Item; | |
import org.eclipse.emf.common.notify.AdapterFactory; | |
import org.eclipse.emf.common.notify.Notification; | |
import org.eclipse.emf.common.util.ResourceLocator; | |
import org.eclipse.emf.ecore.EStructuralFeature; | |
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; | |
import org.eclipse.emf.edit.provider.IChildCreationExtender; | |
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; | |
import org.eclipse.emf.edit.provider.IItemLabelProvider; | |
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; | |
import org.eclipse.emf.edit.provider.IItemPropertySource; | |
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; | |
import org.eclipse.emf.edit.provider.ITreeItemContentProvider; | |
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; | |
import org.eclipse.emf.edit.provider.ItemProviderAdapter; | |
import org.eclipse.emf.edit.provider.ViewerNotification; | |
/** | |
* This is the item provider adapter for a {@link org.eclipse.egf.portfolio.eclipse.build.buildcore.Item} object. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
public class ItemItemProvider | |
extends ItemProviderAdapter | |
implements | |
IEditingDomainItemProvider, | |
IStructuredItemContentProvider, | |
ITreeItemContentProvider, | |
IItemLabelProvider, | |
IItemPropertySource { | |
/** | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
public static final String copyright = " Copyright (c) 2009-2010 Thales Corporate Services S.A.S.\r\n This program and the accompanying materials\r\n are made available under the terms of the Eclipse Public License v2.0\r\n which accompanies this distribution, and is available at\r\n https://www.eclipse.org/legal/epl-v2.0\r\n \r\n SPDX-License-Identifier: EPL-2.0\r\n \r\n Contributors:\r\n Thales Corporate Services S.A.S - initial API and implementation"; | |
/** | |
* This constructs an instance from a factory and a notifier. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
public ItemItemProvider(AdapterFactory adapterFactory) { | |
super(adapterFactory); | |
} | |
/** | |
* This returns the property descriptors for the adapted class. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) { | |
if (itemPropertyDescriptors == null) { | |
super.getPropertyDescriptors(object); | |
addNamePropertyDescriptor(object); | |
addDescriptionPropertyDescriptor(object); | |
addEnabledPropertyDescriptor(object); | |
} | |
return itemPropertyDescriptors; | |
} | |
/** | |
* This adds a property descriptor for the Name feature. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
protected void addNamePropertyDescriptor(Object object) { | |
itemPropertyDescriptors.add | |
(createItemPropertyDescriptor | |
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), | |
getResourceLocator(), | |
getString("_UI_Item_name_feature"), | |
getString("_UI_PropertyDescriptor_description", "_UI_Item_name_feature", "_UI_Item_type"), | |
BuildcorePackage.Literals.ITEM__NAME, | |
true, | |
false, | |
false, | |
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, | |
null, | |
null)); | |
} | |
/** | |
* This adds a property descriptor for the Description feature. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
protected void addDescriptionPropertyDescriptor(Object object) { | |
itemPropertyDescriptors.add | |
(createItemPropertyDescriptor | |
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), | |
getResourceLocator(), | |
getString("_UI_Item_description_feature"), | |
getString("_UI_PropertyDescriptor_description", "_UI_Item_description_feature", "_UI_Item_type"), | |
BuildcorePackage.Literals.ITEM__DESCRIPTION, | |
true, | |
false, | |
false, | |
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, | |
null, | |
null)); | |
} | |
/** | |
* This adds a property descriptor for the Enabled feature. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
protected void addEnabledPropertyDescriptor(Object object) { | |
itemPropertyDescriptors.add | |
(createItemPropertyDescriptor | |
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), | |
getResourceLocator(), | |
getString("_UI_Item_enabled_feature"), | |
getString("_UI_PropertyDescriptor_description", "_UI_Item_enabled_feature", "_UI_Item_type"), | |
BuildcorePackage.Literals.ITEM__ENABLED, | |
true, | |
false, | |
false, | |
ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, | |
null, | |
null)); | |
} | |
/** | |
* This returns the label text for the adapted class. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public String getText(Object object) { | |
String label = ((Item)object).getName(); | |
return label == null || label.length() == 0 ? | |
getString("_UI_Item_type") : | |
getString("_UI_Item_type") + " " + label; | |
} | |
/** | |
* This handles model notifications by calling {@link #updateChildren} to update any cached | |
* children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public void notifyChanged(Notification notification) { | |
updateChildren(notification); | |
switch (notification.getFeatureID(Item.class)) { | |
case BuildcorePackage.ITEM__NAME: | |
case BuildcorePackage.ITEM__DESCRIPTION: | |
case BuildcorePackage.ITEM__ENABLED: | |
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); | |
return; | |
} | |
super.notifyChanged(notification); | |
} | |
/** | |
* This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children | |
* that can be created under this object. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) { | |
super.collectNewChildDescriptors(newChildDescriptors, object); | |
} | |
/** | |
* Return the resource locator for this item provider's resources. | |
* <!-- begin-user-doc --> | |
* <!-- end-user-doc --> | |
* @generated | |
*/ | |
@Override | |
public ResourceLocator getResourceLocator() { | |
return ((IChildCreationExtender)adapterFactory).getResourceLocator(); | |
} | |
/** | |
* @generated | |
*/ | |
@Override | |
protected Object overlayImage(Object object, Object image) { | |
if (object instanceof Item && !((Item) object).isEnabled()) { | |
List<Object> images = new java.util.ArrayList<Object>(2); | |
images.add(image); | |
images.add(org.eclipse.egf.portfolio.eclipse.build.buildcore.presentation.BuildCoreEditorPlugin.INSTANCE.getImage("disabled")); | |
image = new org.eclipse.emf.edit.provider.ComposedImage(images) { | |
@Override | |
public List<Point> getDrawPoints(Size size) { | |
List<Point> results = new java.util.ArrayList<Point>(); | |
results.add(new Point()); | |
Point overlay = new Point(); | |
overlay.x = 0; | |
overlay.y = 9; | |
results.add(overlay); | |
return results; | |
} | |
}; | |
} | |
return super.overlayImage(object, image); | |
} | |
} |