1 17 package org.eclipse.emf.ecore.sdo.provider; 18 19 20 import java.util.Collection ; 21 import java.util.List ; 22 23 import org.eclipse.emf.common.notify.AdapterFactory; 24 import org.eclipse.emf.common.notify.Notification; 25 import org.eclipse.emf.common.util.ResourceLocator; 26 import org.eclipse.emf.ecore.sdo.EType; 27 import org.eclipse.emf.ecore.sdo.SDOPackage; 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 import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; 35 import org.eclipse.emf.edit.provider.ItemProviderAdapter; 36 37 38 import org.eclipse.emf.edit.provider.ViewerNotification; 39 40 46 public class ETypeItemProvider 47 extends ItemProviderAdapter 48 implements 49 IEditingDomainItemProvider, 50 IStructuredItemContentProvider, 51 ITreeItemContentProvider, 52 IItemLabelProvider, 53 IItemPropertySource 54 { 55 61 public ETypeItemProvider(AdapterFactory adapterFactory) 62 { 63 super(adapterFactory); 64 } 65 66 72 public List getPropertyDescriptors(Object object) 73 { 74 if (itemPropertyDescriptors == null) 75 { 76 super.getPropertyDescriptors(object); 77 78 addNamePropertyDescriptor(object); 79 addURIPropertyDescriptor(object); 80 addInstanceClassPropertyDescriptor(object); 81 addPropertiesPropertyDescriptor(object); 82 addEClassifierPropertyDescriptor(object); 83 } 84 return itemPropertyDescriptors; 85 } 86 87 93 protected void addNamePropertyDescriptor(Object object) 94 { 95 itemPropertyDescriptors.add 96 (createItemPropertyDescriptor 97 (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), 98 getResourceLocator(), 99 getString("_UI_Type_name_feature"), 100 getString("_UI_PropertyDescriptor_description", "_UI_Type_name_feature", "_UI_Type_type"), 101 SDOPackage.eINSTANCE.getType_Name(), 102 false, 103 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, 104 null, 105 null)); 106 } 107 108 114 protected void addURIPropertyDescriptor(Object object) 115 { 116 itemPropertyDescriptors.add 117 (createItemPropertyDescriptor 118 (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), 119 getResourceLocator(), 120 getString("_UI_Type_uRI_feature"), 121 getString("_UI_PropertyDescriptor_description", "_UI_Type_uRI_feature", "_UI_Type_type"), 122 SDOPackage.eINSTANCE.getType_URI(), 123 false, 124 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, 125 null, 126 null)); 127 } 128 129 135 protected void addInstanceClassPropertyDescriptor(Object object) 136 { 137 itemPropertyDescriptors.add 138 (createItemPropertyDescriptor 139 (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), 140 getResourceLocator(), 141 getString("_UI_Type_instanceClass_feature"), 142 getString("_UI_PropertyDescriptor_description", "_UI_Type_instanceClass_feature", "_UI_Type_type"), 143 SDOPackage.eINSTANCE.getType_InstanceClass(), 144 false, 145 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, 146 null, 147 null)); 148 } 149 150 156 protected void addPropertiesPropertyDescriptor(Object object) 157 { 158 itemPropertyDescriptors.add 159 (createItemPropertyDescriptor 160 (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), 161 getResourceLocator(), 162 getString("_UI_Type_properties_feature"), 163 getString("_UI_PropertyDescriptor_description", "_UI_Type_properties_feature", "_UI_Type_type"), 164 SDOPackage.eINSTANCE.getType_Properties(), 165 false, 166 null, 167 null, 168 null)); 169 } 170 171 177 protected void addEClassifierPropertyDescriptor(Object object) 178 { 179 itemPropertyDescriptors.add 180 (createItemPropertyDescriptor 181 (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), 182 getResourceLocator(), 183 getString("_UI_EType_eClassifier_feature"), 184 getString("_UI_PropertyDescriptor_description", "_UI_EType_eClassifier_feature", "_UI_EType_type"), 185 SDOPackage.eINSTANCE.getEType_EClassifier(), 186 true, 187 null, 188 null, 189 null)); 190 } 191 192 200 public Collection getChildrenFeatures(Object object) 201 { 202 if (childrenFeatures == null) 203 { 204 super.getChildrenFeatures(object); 205 childrenFeatures.add(SDOPackage.eINSTANCE.getType_Properties()); 206 } 207 return childrenFeatures; 208 } 209 210 216 public Object getImage(Object object) 217 { 218 return getResourceLocator().getImage("full/obj16/EType"); 219 } 220 221 227 public String getText(Object object) 228 { 229 String label = ((EType)object).getName(); 230 return label == null || label.length() == 0 ? 231 getString("_UI_EType_type") : 232 getString("_UI_EType_type") + " " + label; 233 } 234 235 242 public void notifyChanged(Notification notification) 243 { 244 updateChildren(notification); 245 246 switch (notification.getFeatureID(EType.class)) 247 { 248 case SDOPackage.ETYPE__NAME: 249 case SDOPackage.ETYPE__URI: 250 case SDOPackage.ETYPE__INSTANCE_CLASS: 251 fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); 252 return; 253 } 254 super.notifyChanged(notification); 255 } 256 257 263 public ResourceLocator getResourceLocator() 264 { 265 return SDOEditPlugin.INSTANCE; 266 } 267 268 } 269 | Popular Tags |