| 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 26 import org.eclipse.emf.common.util.ResourceLocator; 27 28 import org.eclipse.emf.ecore.sdo.EDataObjectSimpleAnyType; 29 import org.eclipse.emf.ecore.sdo.SDOPackage; 30 31 import org.eclipse.emf.ecore.xml.type.XMLTypePackage; 32 33 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; 34 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; 35 import org.eclipse.emf.edit.provider.IItemLabelProvider; 36 import org.eclipse.emf.edit.provider.IItemPropertySource; 37 import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; 38 import org.eclipse.emf.edit.provider.ITreeItemContentProvider; 39 import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; 40 import org.eclipse.emf.edit.provider.ItemProviderAdapter; 41 42 import org.eclipse.emf.edit.provider.ViewerNotification; 43 44 50 public class EDataObjectSimpleAnyTypeItemProvider 51 extends ItemProviderAdapter 52 implements 53 IEditingDomainItemProvider, 54 IStructuredItemContentProvider, 55 ITreeItemContentProvider, 56 IItemLabelProvider, 57 IItemPropertySource 58 { 59 65 public EDataObjectSimpleAnyTypeItemProvider(AdapterFactory adapterFactory) 66 { 67 super(adapterFactory); 68 } 69 70 76 public List getPropertyDescriptors(Object object) 77 { 78 if (itemPropertyDescriptors == null) 79 { 80 super.getPropertyDescriptors(object); 81 82 addRawValuePropertyDescriptor(object); 83 addValuePropertyDescriptor(object); 84 addInstanceTypePropertyDescriptor(object); 85 } 86 return itemPropertyDescriptors; 87 } 88 89 95 protected void addRawValuePropertyDescriptor(Object object) 96 { 97 itemPropertyDescriptors.add 98 (createItemPropertyDescriptor 99 (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), 100 getResourceLocator(), 101 getString("_UI_SimpleAnyType_rawValue_feature"), 102 getString("_UI_PropertyDescriptor_description", "_UI_SimpleAnyType_rawValue_feature", "_UI_SimpleAnyType_type"), 103 XMLTypePackage.eINSTANCE.getSimpleAnyType_RawValue(), 104 true, 105 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, 106 null, 107 null)); 108 } 109 110 116 protected void addValuePropertyDescriptor(Object object) 117 { 118 itemPropertyDescriptors.add 119 (createItemPropertyDescriptor 120 (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), 121 getResourceLocator(), 122 getString("_UI_SimpleAnyType_value_feature"), 123 getString("_UI_PropertyDescriptor_description", "_UI_SimpleAnyType_value_feature", "_UI_SimpleAnyType_type"), 124 XMLTypePackage.eINSTANCE.getSimpleAnyType_Value(), 125 true, 126 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, 127 null, 128 null)); 129 } 130 131 137 protected void addInstanceTypePropertyDescriptor(Object object) 138 { 139 itemPropertyDescriptors.add 140 (createItemPropertyDescriptor 141 (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), 142 getResourceLocator(), 143 getString("_UI_SimpleAnyType_instanceType_feature"), 144 getString("_UI_PropertyDescriptor_description", "_UI_SimpleAnyType_instanceType_feature", "_UI_SimpleAnyType_type"), 145 XMLTypePackage.eINSTANCE.getSimpleAnyType_InstanceType(), 146 true, 147 null, 148 null, 149 null)); 150 } 151 152 160 public Collection getChildrenFeatures(Object object) 161 { 162 if (childrenFeatures == null) 163 { 164 super.getChildrenFeatures(object); 165 childrenFeatures.add(XMLTypePackage.eINSTANCE.getAnyType_Mixed()); 166 } 167 return childrenFeatures; 168 } 169 170 176 public Object getImage(Object object) 177 { 178 return getResourceLocator().getImage("full/obj16/EDataObjectSimpleAnyType"); 179 } 180 181 187 public String getText(Object object) 188 { 189 String label = ((EDataObjectSimpleAnyType)object).getRawValue(); 190 return label == null || label.length() == 0 ? 191 getString("_UI_EDataObjectSimpleAnyType_type") : 192 getString("_UI_EDataObjectSimpleAnyType_type") + " " + label; 193 } 194 195 202 public void notifyChanged(Notification notification) 203 { 204 updateChildren(notification); 205 206 switch (notification.getFeatureID(EDataObjectSimpleAnyType.class)) 207 { 208 case SDOPackage.EDATA_OBJECT_SIMPLE_ANY_TYPE__RAW_VALUE: 209 case SDOPackage.EDATA_OBJECT_SIMPLE_ANY_TYPE__VALUE: 210 fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); 211 return; 212 case SDOPackage.EDATA_OBJECT_SIMPLE_ANY_TYPE__MIXED: 213 fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); 214 return; 215 } 216 super.notifyChanged(notification); 217 } 218 219 225 public ResourceLocator getResourceLocator() 226 { 227 return SDOEditPlugin.INSTANCE; 228 } 229 230 } 231 | Popular Tags |