1 17 package org.eclipse.emf.codegen.ecore.genmodel.provider; 18 19 20 import java.util.List ; 21 22 import org.eclipse.emf.codegen.ecore.genmodel.GenDataType; 23 import org.eclipse.emf.codegen.ecore.genmodel.GenEnum; 24 import org.eclipse.emf.codegen.ecore.genmodel.GenModelPackage; 25 import org.eclipse.emf.common.notify.AdapterFactory; 26 import org.eclipse.emf.common.notify.Notification; 27 import org.eclipse.emf.common.util.ResourceLocator; 28 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; 29 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; 30 import org.eclipse.emf.edit.provider.IItemLabelProvider; 31 import org.eclipse.emf.edit.provider.IItemPropertySource; 32 import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; 33 import org.eclipse.emf.edit.provider.ITreeItemContentProvider; 34 35 import org.eclipse.emf.edit.provider.ViewerNotification; 36 37 39 40 46 public class GenDataTypeItemProvider 47 extends GenBaseItemProvider 48 implements 49 IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource 50 { 51 57 public GenDataTypeItemProvider(AdapterFactory adapterFactory) 58 { 59 super(adapterFactory); 60 } 61 62 68 public List getPropertyDescriptors(Object object) 69 { 70 if (itemPropertyDescriptors == null) 71 { 72 super.getPropertyDescriptors(object); 73 74 addEcoreDataTypePropertyDescriptor(object); 75 } 76 return itemPropertyDescriptors; 77 } 78 79 85 protected void addEcoreDataTypePropertyDescriptor(Object object) 86 { 87 if (object instanceof GenEnum) return; 88 89 itemPropertyDescriptors.add 90 (createItemPropertyDescriptor 91 (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), 92 getResourceLocator(), 93 getString("_UI_GenDataType_ecoreDataType_feature"), 94 getString("_UI_GenDataType_ecoreDataType_description"), 95 GenModelPackage.eINSTANCE.getGenDataType_EcoreDataType(), 96 false, 97 null, 98 getString("_UI_EcorePropertyCategory"), 99 null)); 100 } 101 102 104 public Object getImage(Object object) 105 { 106 return new UnderlayedImage(getResourceLocator().getImage("full/obj16/EDataType")); 107 } 108 109 112 public String getText(Object object) 113 { 114 GenDataType genDataType = (GenDataType)object; 115 return 116 genDataType.getName() + 117 (genDataType.getQualifiedInstanceClassName() == null ? "" : " <" + genDataType.getQualifiedInstanceClassName() + ">"); 118 } 119 120 127 public void notifyChanged(Notification notification) 128 { 129 updateChildren(notification); 130 131 switch (notification.getFeatureID(GenDataType.class)) 132 { 133 case GenModelPackage.GEN_DATA_TYPE__GEN_PACKAGE: 134 case GenModelPackage.GEN_DATA_TYPE__ECORE_DATA_TYPE: 135 fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); 136 return; 137 } 138 super.notifyChanged(notification); 139 } 140 141 147 public ResourceLocator getResourceLocator() 148 { 149 return GenModelEditPlugin.INSTANCE; 150 } 151 152 } 153 | Popular Tags |