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.TrueFalse; 30 import org.enhydra.dods.editor.Doml.TypeType; 31 32 38 public class TypeTypeItemProvider 39 extends ItemProviderAdapter 40 implements 41 IEditingDomainItemProvider, 42 IStructuredItemContentProvider, 43 ITreeItemContentProvider, 44 IItemLabelProvider, 45 IItemPropertySource { 46 52 public TypeTypeItemProvider(AdapterFactory adapterFactory) { 53 super(adapterFactory); 54 } 55 56 62 public List getPropertyDescriptors(Object object) { 63 if (itemPropertyDescriptors == null) { 64 super.getPropertyDescriptors(object); 65 66 addCanBeNullPropertyDescriptor(object); 67 addDbTypePropertyDescriptor(object); 68 addJavaTypePropertyDescriptor(object); 69 addSizePropertyDescriptor(object); 70 } 71 return itemPropertyDescriptors; 72 } 73 74 80 protected void addCanBeNullPropertyDescriptor(Object object) { 81 itemPropertyDescriptors.add 82 (new ItemPropertyDescriptor 83 (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), 84 getResourceLocator(), 85 getString("_UI_TypeType_canBeNull_feature"), 86 getString("_UI_PropertyDescriptor_description", "_UI_TypeType_canBeNull_feature", "_UI_TypeType_type"), 87 DomlPackage.eINSTANCE.getTypeType_CanBeNull(), 88 true, 89 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE)); 90 } 91 92 98 protected void addDbTypePropertyDescriptor(Object object) { 99 itemPropertyDescriptors.add 100 (new ItemPropertyDescriptor 101 (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), 102 getResourceLocator(), 103 getString("_UI_TypeType_dbType_feature"), 104 getString("_UI_PropertyDescriptor_description", "_UI_TypeType_dbType_feature", "_UI_TypeType_type"), 105 DomlPackage.eINSTANCE.getTypeType_DbType(), 106 true, 107 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE)); 108 } 109 110 116 protected void addJavaTypePropertyDescriptor(Object object) { 117 itemPropertyDescriptors.add 118 (new ItemPropertyDescriptor 119 (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), 120 getResourceLocator(), 121 getString("_UI_TypeType_javaType_feature"), 122 getString("_UI_PropertyDescriptor_description", "_UI_TypeType_javaType_feature", "_UI_TypeType_type"), 123 DomlPackage.eINSTANCE.getTypeType_JavaType(), 124 true, 125 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE)); 126 } 127 128 134 protected void addSizePropertyDescriptor(Object object) { 135 itemPropertyDescriptors.add 136 (new ItemPropertyDescriptor 137 (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), 138 getResourceLocator(), 139 getString("_UI_TypeType_size_feature"), 140 getString("_UI_PropertyDescriptor_description", "_UI_TypeType_size_feature", "_UI_TypeType_type"), 141 DomlPackage.eINSTANCE.getTypeType_Size(), 142 true, 143 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE)); 144 } 145 146 152 public Object getImage(Object object) { 153 return getResourceLocator().getImage("full/obj16/TypeType"); 154 } 155 156 162 public String getText(Object object) { 163 TrueFalse labelValue = ((TypeType)object).getCanBeNull(); 164 String label = labelValue == null ? null : labelValue.toString(); 165 return label == null || label.length() == 0 ? 166 getString("_UI_TypeType_type") : 167 getString("_UI_TypeType_type") + " " + label; 168 } 169 170 177 public void notifyChanged(Notification notification) { 178 updateChildren(notification); 179 180 switch (notification.getFeatureID(TypeType.class)) { 181 case DomlPackage.TYPE_TYPE__CAN_BE_NULL: 182 case DomlPackage.TYPE_TYPE__DB_TYPE: 183 case DomlPackage.TYPE_TYPE__JAVA_TYPE: 184 case DomlPackage.TYPE_TYPE__SIZE: 185 fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); 186 return; 187 } 188 super.notifyChanged(notification); 189 } 190 191 198 protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { 199 super.collectNewChildDescriptors(newChildDescriptors, object); 200 } 201 202 208 public ResourceLocator getResourceLocator() { 209 return DomlEditPlugin.INSTANCE; 210 } 211 212 } 213 | Popular Tags |