1 7 package org.enhydra.dods.editor.Doml.provider; 8 9 10 import java.util.Collection ; 11 import java.util.List ; 12 13 import org.eclipse.emf.common.notify.AdapterFactory; 14 import org.eclipse.emf.common.notify.Notification; 15 16 import org.eclipse.emf.common.util.ResourceLocator; 17 18 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; 19 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; 20 import org.eclipse.emf.edit.provider.IItemLabelProvider; 21 import org.eclipse.emf.edit.provider.IItemPropertySource; 22 import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; 23 import org.eclipse.emf.edit.provider.ITreeItemContentProvider; 24 import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; 25 import org.eclipse.emf.edit.provider.ItemProviderAdapter; 26 import org.eclipse.emf.edit.provider.ViewerNotification; 27 28 import org.enhydra.dods.editor.Doml.DomlPackage; 29 import org.enhydra.dods.editor.Doml.ReferenceObjectType; 30 import org.enhydra.dods.editor.Doml.TrueFalse; 31 32 38 public class ReferenceObjectTypeItemProvider 39 extends ItemProviderAdapter 40 implements 41 IEditingDomainItemProvider, 42 IStructuredItemContentProvider, 43 ITreeItemContentProvider, 44 IItemLabelProvider, 45 IItemPropertySource { 46 52 public ReferenceObjectTypeItemProvider(AdapterFactory adapterFactory) { 53 super(adapterFactory); 54 } 55 56 62 public List getPropertyDescriptors(Object object) { 63 if (itemPropertyDescriptors == null) { 64 super.getPropertyDescriptors(object); 65 66 addConstraintPropertyDescriptor(object); 67 addReferencePropertyDescriptor(object); 68 } 69 return itemPropertyDescriptors; 70 } 71 72 78 protected void addConstraintPropertyDescriptor(Object object) { 79 itemPropertyDescriptors.add 80 (new ItemPropertyDescriptor 81 (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), 82 getResourceLocator(), 83 getString("_UI_ReferenceObjectType_constraint_feature"), 84 getString("_UI_PropertyDescriptor_description", "_UI_ReferenceObjectType_constraint_feature", "_UI_ReferenceObjectType_type"), 85 DomlPackage.eINSTANCE.getReferenceObjectType_Constraint(), 86 true, 87 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE)); 88 } 89 90 96 protected void addReferencePropertyDescriptor(Object object) { 97 itemPropertyDescriptors.add 98 (new ItemPropertyDescriptor 99 (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), 100 getResourceLocator(), 101 getString("_UI_ReferenceObjectType_reference_feature"), 102 getString("_UI_PropertyDescriptor_description", "_UI_ReferenceObjectType_reference_feature", "_UI_ReferenceObjectType_type"), 103 DomlPackage.eINSTANCE.getReferenceObjectType_Reference(), 104 true, 105 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE)); 106 } 107 108 114 public Object getImage(Object object) { 115 return getResourceLocator().getImage("full/obj16/ReferenceObjectType"); 116 } 117 118 124 public String getText(Object object) { 125 TrueFalse labelValue = ((ReferenceObjectType)object).getConstraint(); 126 String label = labelValue == null ? null : labelValue.toString(); 127 return label == null || label.length() == 0 ? 128 getString("_UI_ReferenceObjectType_type") : 129 getString("_UI_ReferenceObjectType_type") + " " + label; 130 } 131 132 139 public void notifyChanged(Notification notification) { 140 updateChildren(notification); 141 142 switch (notification.getFeatureID(ReferenceObjectType.class)) { 143 case DomlPackage.REFERENCE_OBJECT_TYPE__CONSTRAINT: 144 case DomlPackage.REFERENCE_OBJECT_TYPE__REFERENCE: 145 fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); 146 return; 147 } 148 super.notifyChanged(notification); 149 } 150 151 158 protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { 159 super.collectNewChildDescriptors(newChildDescriptors, object); 160 } 161 162 168 public ResourceLocator getResourceLocator() { 169 return DomlEditPlugin.INSTANCE; 170 } 171 172 } 173 | Popular Tags |