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.ecore.EStructuralFeature; 19 20 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; 21 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; 22 import org.eclipse.emf.edit.provider.IItemLabelProvider; 23 import org.eclipse.emf.edit.provider.IItemPropertySource; 24 import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; 25 import org.eclipse.emf.edit.provider.ITreeItemContentProvider; 26 import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; 27 import org.eclipse.emf.edit.provider.ItemProviderAdapter; 28 import org.eclipse.emf.edit.provider.ViewerNotification; 29 30 import org.enhydra.dods.editor.Doml.ColumnType; 31 import org.enhydra.dods.editor.Doml.DomlFactory; 32 import org.enhydra.dods.editor.Doml.DomlPackage; 33 34 40 public class ColumnTypeItemProvider 41 extends ItemProviderAdapter 42 implements 43 IEditingDomainItemProvider, 44 IStructuredItemContentProvider, 45 ITreeItemContentProvider, 46 IItemLabelProvider, 47 IItemPropertySource { 48 54 public ColumnTypeItemProvider(AdapterFactory adapterFactory) { 55 super(adapterFactory); 56 } 57 58 64 public List getPropertyDescriptors(Object object) { 65 if (itemPropertyDescriptors == null) { 66 super.getPropertyDescriptors(object); 67 68 addErrorPropertyDescriptor(object); 69 addJavadocPropertyDescriptor(object); 70 addInitialValuePropertyDescriptor(object); 71 addGenerateInsecurePropertyDescriptor(object); 72 addGenerateSecurePropertyDescriptor(object); 73 addIdPropertyDescriptor(object); 74 addIsConstantPropertyDescriptor(object); 75 addUsedForQueryPropertyDescriptor(object); 76 } 77 return itemPropertyDescriptors; 78 } 79 80 86 protected void addErrorPropertyDescriptor(Object object) { 87 itemPropertyDescriptors.add 88 (new ItemPropertyDescriptor 89 (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), 90 getResourceLocator(), 91 getString("_UI_ColumnType_error_feature"), 92 getString("_UI_PropertyDescriptor_description", "_UI_ColumnType_error_feature", "_UI_ColumnType_type"), 93 DomlPackage.eINSTANCE.getColumnType_Error(), 94 true, 95 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE)); 96 } 97 98 104 protected void addJavadocPropertyDescriptor(Object object) { 105 itemPropertyDescriptors.add 106 (new ItemPropertyDescriptor 107 (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), 108 getResourceLocator(), 109 getString("_UI_ColumnType_javadoc_feature"), 110 getString("_UI_PropertyDescriptor_description", "_UI_ColumnType_javadoc_feature", "_UI_ColumnType_type"), 111 DomlPackage.eINSTANCE.getColumnType_Javadoc(), 112 true, 113 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE)); 114 } 115 116 122 protected void addInitialValuePropertyDescriptor(Object object) { 123 itemPropertyDescriptors.add 124 (new ItemPropertyDescriptor 125 (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), 126 getResourceLocator(), 127 getString("_UI_ColumnType_initialValue_feature"), 128 getString("_UI_PropertyDescriptor_description", "_UI_ColumnType_initialValue_feature", "_UI_ColumnType_type"), 129 DomlPackage.eINSTANCE.getColumnType_InitialValue(), 130 true, 131 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE)); 132 } 133 134 140 protected void addGenerateInsecurePropertyDescriptor(Object object) { 141 itemPropertyDescriptors.add 142 (new ItemPropertyDescriptor 143 (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), 144 getResourceLocator(), 145 getString("_UI_ColumnType_generateInsecure_feature"), 146 getString("_UI_PropertyDescriptor_description", "_UI_ColumnType_generateInsecure_feature", "_UI_ColumnType_type"), 147 DomlPackage.eINSTANCE.getColumnType_GenerateInsecure(), 148 true, 149 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE)); 150 } 151 152 158 protected void addGenerateSecurePropertyDescriptor(Object object) { 159 itemPropertyDescriptors.add 160 (new ItemPropertyDescriptor 161 (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), 162 getResourceLocator(), 163 getString("_UI_ColumnType_generateSecure_feature"), 164 getString("_UI_PropertyDescriptor_description", "_UI_ColumnType_generateSecure_feature", "_UI_ColumnType_type"), 165 DomlPackage.eINSTANCE.getColumnType_GenerateSecure(), 166 true, 167 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE)); 168 } 169 170 176 protected void addIdPropertyDescriptor(Object object) { 177 itemPropertyDescriptors.add 178 (new ItemPropertyDescriptor 179 (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), 180 getResourceLocator(), 181 getString("_UI_ColumnType_id_feature"), 182 getString("_UI_PropertyDescriptor_description", "_UI_ColumnType_id_feature", "_UI_ColumnType_type"), 183 DomlPackage.eINSTANCE.getColumnType_Id(), 184 true, 185 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE)); 186 } 187 188 194 protected void addIsConstantPropertyDescriptor(Object object) { 195 itemPropertyDescriptors.add 196 (new ItemPropertyDescriptor 197 (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), 198 getResourceLocator(), 199 getString("_UI_ColumnType_isConstant_feature"), 200 getString("_UI_PropertyDescriptor_description", "_UI_ColumnType_isConstant_feature", "_UI_ColumnType_type"), 201 DomlPackage.eINSTANCE.getColumnType_IsConstant(), 202 true, 203 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE)); 204 } 205 206 212 protected void addUsedForQueryPropertyDescriptor(Object object) { 213 itemPropertyDescriptors.add 214 (new ItemPropertyDescriptor 215 (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), 216 getResourceLocator(), 217 getString("_UI_ColumnType_usedForQuery_feature"), 218 getString("_UI_PropertyDescriptor_description", "_UI_ColumnType_usedForQuery_feature", "_UI_ColumnType_type"), 219 DomlPackage.eINSTANCE.getColumnType_UsedForQuery(), 220 true, 221 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE)); 222 } 223 224 232 public Collection getChildrenFeatures(Object object) { 233 if (childrenFeatures == null) { 234 super.getChildrenFeatures(object); 235 childrenFeatures.add(DomlPackage.eINSTANCE.getColumnType_ReferenceObject()); 236 childrenFeatures.add(DomlPackage.eINSTANCE.getColumnType_Type()); 237 } 238 return childrenFeatures; 239 } 240 241 246 protected EStructuralFeature getChildFeature(Object object, Object child) { 247 250 return super.getChildFeature(object, child); 251 } 252 253 259 public Object getImage(Object object) { 260 return getResourceLocator().getImage("full/obj16/ColumnType"); 261 } 262 263 269 public String getText(Object object) { 270 String label = ((ColumnType)object).getId(); 271 return label == null || label.length() == 0 ? 272 getString("_UI_ColumnType_type") : 273 getString("_UI_ColumnType_type") + " " + label; 274 } 275 276 283 public void notifyChanged(Notification notification) { 284 updateChildren(notification); 285 286 switch (notification.getFeatureID(ColumnType.class)) { 287 case DomlPackage.COLUMN_TYPE__ERROR: 288 case DomlPackage.COLUMN_TYPE__JAVADOC: 289 case DomlPackage.COLUMN_TYPE__INITIAL_VALUE: 290 case DomlPackage.COLUMN_TYPE__GENERATE_INSECURE: 291 case DomlPackage.COLUMN_TYPE__GENERATE_SECURE: 292 case DomlPackage.COLUMN_TYPE__ID: 293 case DomlPackage.COLUMN_TYPE__IS_CONSTANT: 294 case DomlPackage.COLUMN_TYPE__USED_FOR_QUERY: 295 fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); 296 return; 297 case DomlPackage.COLUMN_TYPE__REFERENCE_OBJECT: 298 case DomlPackage.COLUMN_TYPE__TYPE: 299 fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); 300 return; 301 } 302 super.notifyChanged(notification); 303 } 304 305 312 protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { 313 super.collectNewChildDescriptors(newChildDescriptors, object); 314 315 newChildDescriptors.add 316 (createChildParameter 317 (DomlPackage.eINSTANCE.getColumnType_ReferenceObject(), 318 DomlFactory.eINSTANCE.createReferenceObjectType())); 319 320 newChildDescriptors.add 321 (createChildParameter 322 (DomlPackage.eINSTANCE.getColumnType_Type(), 323 DomlFactory.eINSTANCE.createTypeType())); 324 } 325 326 332 public ResourceLocator getResourceLocator() { 333 return DomlEditPlugin.INSTANCE; 334 } 335 336 } 337 | Popular Tags |