RosIDLReferenceItemProvider.java
Go to the documentation of this file.
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.RosIDLReference;
00015 import org.eclipse.emf.common.notify.AdapterFactory;
00016 import org.eclipse.emf.common.notify.Notification;
00017 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
00018 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
00019 import org.eclipse.emf.edit.provider.IItemLabelProvider;
00020 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
00021 import org.eclipse.emf.edit.provider.IItemPropertySource;
00022 import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
00023 import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
00024 import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
00025 import org.eclipse.emf.edit.provider.ViewerNotification;
00026 
00033 public class RosIDLReferenceItemProvider
00034         extends IDLReferenceItemProvider
00035         implements
00036                 IEditingDomainItemProvider,
00037                 IStructuredItemContentProvider,
00038                 ITreeItemContentProvider,
00039                 IItemLabelProvider,
00040                 IItemPropertySource {
00047         public RosIDLReferenceItemProvider(AdapterFactory adapterFactory) {
00048                 super(adapterFactory);
00049         }
00050 
00057         @Override
00058         public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
00059                 if (itemPropertyDescriptors == null) {
00060                         super.getPropertyDescriptors(object);
00061 
00062                         addNamespacePropertyDescriptor(object);
00063                         addRosPackagePropertyDescriptor(object);
00064                 }
00065                 return itemPropertyDescriptors;
00066         }
00067 
00074         protected void addNamespacePropertyDescriptor(Object object) {
00075                 itemPropertyDescriptors.add
00076                         (createItemPropertyDescriptor
00077                                 (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
00078                                  getResourceLocator(),
00079                                  getString("_UI_RosIDLReference_namespace_feature"),
00080                                  getString("_UI_PropertyDescriptor_description", "_UI_RosIDLReference_namespace_feature", "_UI_RosIDLReference_type"),
00081                                  DatatypesPackage.Literals.ROS_IDL_REFERENCE__NAMESPACE,
00082                                  true,
00083                                  false,
00084                                  false,
00085                                  ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
00086                                  null,
00087                                  null));
00088         }
00089 
00096         protected void addRosPackagePropertyDescriptor(Object object) {
00097                 itemPropertyDescriptors.add
00098                         (createItemPropertyDescriptor
00099                                 (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
00100                                  getResourceLocator(),
00101                                  getString("_UI_RosIDLReference_rosPackage_feature"),
00102                                  getString("_UI_PropertyDescriptor_description", "_UI_RosIDLReference_rosPackage_feature", "_UI_RosIDLReference_type"),
00103                                  DatatypesPackage.Literals.ROS_IDL_REFERENCE__ROS_PACKAGE,
00104                                  true,
00105                                  false,
00106                                  false,
00107                                  ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
00108                                  null,
00109                                  null));
00110         }
00111 
00118         @Override
00119         public Object getImage(Object object) {
00120                 return overlayImage(object, getResourceLocator().getImage("full/obj16/RosIDLReference"));
00121         }
00122 
00130         @Override
00131         public String getText(Object object) {
00132                 String label = ((RosIDLReference)object).getLabel();
00133                 return label == null || label.length() == 0 ?
00134                         getString("_UI_RosIDLReference_type") :
00135                         label + " - " + getString("_UI_RosIDLReference_type");
00136         }
00137 
00145         @Override
00146         public void notifyChanged(Notification notification) {
00147                 updateChildren(notification);
00148 
00149                 switch (notification.getFeatureID(RosIDLReference.class)) {
00150                         case DatatypesPackage.ROS_IDL_REFERENCE__NAMESPACE:
00151                         case DatatypesPackage.ROS_IDL_REFERENCE__ROS_PACKAGE:
00152                                 fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
00153                                 return;
00154                 }
00155                 super.notifyChanged(notification);
00156         }
00157 
00165         @Override
00166         protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
00167                 super.collectNewChildDescriptors(newChildDescriptors, object);
00168         }
00169 
00170 }


bride_plugin_source
Author(s): Alexander Bubeck
autogenerated on Sun Oct 5 2014 22:38:34