$search
00001 00007 package org.best_of_robotics.model.datatypes.provider; 00008 00009 00010 import java.util.Collection; 00011 import java.util.List; 00012 00013 import org.best_of_robotics.model.datatypes.DatatypesPackage; 00014 import org.best_of_robotics.model.datatypes.SimpleType; 00015 00016 import org.eclipse.emf.common.notify.AdapterFactory; 00017 import org.eclipse.emf.common.notify.Notification; 00018 00019 import org.eclipse.emf.common.util.ResourceLocator; 00020 00021 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; 00022 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; 00023 import org.eclipse.emf.edit.provider.IItemLabelProvider; 00024 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; 00025 import org.eclipse.emf.edit.provider.IItemPropertySource; 00026 import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; 00027 import org.eclipse.emf.edit.provider.ITreeItemContentProvider; 00028 import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; 00029 import org.eclipse.emf.edit.provider.ItemProviderAdapter; 00030 import org.eclipse.emf.edit.provider.ViewerNotification; 00031 00038 public class SimpleTypeItemProvider 00039 extends ItemProviderAdapter 00040 implements 00041 IEditingDomainItemProvider, 00042 IStructuredItemContentProvider, 00043 ITreeItemContentProvider, 00044 IItemLabelProvider, 00045 IItemPropertySource { 00052 public SimpleTypeItemProvider(AdapterFactory adapterFactory) { 00053 super(adapterFactory); 00054 } 00055 00062 @Override 00063 public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) { 00064 if (itemPropertyDescriptors == null) { 00065 super.getPropertyDescriptors(object); 00066 00067 addNamePropertyDescriptor(object); 00068 } 00069 return itemPropertyDescriptors; 00070 } 00071 00078 protected void addNamePropertyDescriptor(Object object) { 00079 itemPropertyDescriptors.add 00080 (createItemPropertyDescriptor 00081 (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), 00082 getResourceLocator(), 00083 getString("_UI_DataType_name_feature"), 00084 getString("_UI_PropertyDescriptor_description", "_UI_DataType_name_feature", "_UI_DataType_type"), 00085 DatatypesPackage.Literals.DATA_TYPE__NAME, 00086 true, 00087 false, 00088 false, 00089 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, 00090 null, 00091 null)); 00092 } 00093 00101 @Override 00102 public String getText(Object object) { 00103 String label = ((SimpleType)object).getName(); 00104 return label == null || label.length() == 0 ? 00105 getString("_UI_SimpleType_type") : 00106 label + " - " + getString("_UI_SimpleType_type"); 00107 } 00108 00116 @Override 00117 public void notifyChanged(Notification notification) { 00118 updateChildren(notification); 00119 00120 switch (notification.getFeatureID(SimpleType.class)) { 00121 case DatatypesPackage.SIMPLE_TYPE__NAME: 00122 fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); 00123 return; 00124 } 00125 super.notifyChanged(notification); 00126 } 00127 00135 @Override 00136 protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) { 00137 super.collectNewChildDescriptors(newChildDescriptors, object); 00138 } 00139 00146 @Override 00147 public ResourceLocator getResourceLocator() { 00148 return DataTypesEditPlugin.INSTANCE; 00149 } 00150 00151 }