/** * This returns the property descriptors for the adapted class. * <!-- * begin-user-doc --> * Adding the properties from the {@link SpecObject} * * <p>NOTE: In order for this to work, the properties must not be cached. We achieve this by * setting itemPropertyDescriptors to null in the subclasses in {@link * #getPropertyDescriptors(Object)} * * <p> * <!-- end-user-doc --> * * @generated NOT */ @Override public List<IItemPropertyDescriptor> getPropertyDescriptors(Object specHierarchy) { itemPropertyDescriptors = null; super.getPropertyDescriptors(specHierarchy); // We need to separate the SpecHierarchy's properties from the // SpecObject's properties. Therefore, we rename the // Category. ArrayList<IItemPropertyDescriptor> newDescriptors = new ArrayList<IItemPropertyDescriptor>(); for (IItemPropertyDescriptor descriptor : itemPropertyDescriptors) { newDescriptors.add( new ItemPropertyDescriptorDecorator(specHierarchy, descriptor) { public String getCategory(Object thisObject) { return getString("_UI_SpecHierarchyPropertyCategory"); } }); } itemPropertyDescriptors = newDescriptors; SpecObject specObject = ((SpecHierarchy) specHierarchy).getObject(); if (specObject != null) { ItemProviderAdapter specObjectItemProvider = ProrUtil.getItemProvider(adapterFactory, specObject); itemPropertyDescriptors.addAll(specObjectItemProvider.getPropertyDescriptors(specObject)); } addTableInternalPropertyDescriptor(specHierarchy); addObjectPropertyDescriptor(specHierarchy); addEditableAttsPropertyDescriptor(specHierarchy); return itemPropertyDescriptors; }
/** * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate * feature for an {@link org.eclipse.emf.edit.command.AddCommand}, {@link * org.eclipse.emf.edit.command.RemoveCommand} or {@link org.eclipse.emf.edit.command.MoveCommand} * in {@link #createCommand}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ @Override public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) { if (childrenFeatures == null) { super.getChildrenFeatures(object); childrenFeatures.add(ReqIF10Package.Literals.SPEC_HIERARCHY__CHILDREN); } return childrenFeatures; }
/** * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children that * can be created under this object. * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ @Override protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) { super.collectNewChildDescriptors(newChildDescriptors, object); newChildDescriptors.add( createChildParameter( ReqIF10Package.Literals.SPEC_HIERARCHY__CHILDREN, ReqIF10Factory.eINSTANCE.createSpecHierarchy())); }
/** * This returns the property descriptors for the adapted class. * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ @Override public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) { if (itemPropertyDescriptors == null) { super.getPropertyDescriptors(object); addTableInternalPropertyDescriptor(object); addObjectPropertyDescriptor(object); addEditableAttsPropertyDescriptor(object); } return itemPropertyDescriptors; }
/** * This handles model notifications by calling {@link #updateChildren} to update any cached * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated */ @Override public void notifyChanged(Notification notification) { updateChildren(notification); switch (notification.getFeatureID(SpecHierarchy.class)) { case ReqIF10Package.SPEC_HIERARCHY__TABLE_INTERNAL: fireNotifyChanged( new ViewerNotification(notification, notification.getNotifier(), false, true)); return; case ReqIF10Package.SPEC_HIERARCHY__CHILDREN: fireNotifyChanged( new ViewerNotification(notification, notification.getNotifier(), true, false)); return; } super.notifyChanged(notification); }
/** * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children that * can be created under this object. * <!-- * begin-user-doc --> * Adding ChildDescriptors for SpecHierarchies with attached specObjects. * <!-- end-user-doc --> * * @generated NOT */ @Override protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) { super.collectNewChildDescriptors(newChildDescriptors, object); newChildDescriptors.add( createChildParameter( SPEC_HIERARCHY__CHILDREN, ReqIF10Factory.eINSTANCE.createSpecHierarchy())); // Allow creation of new untyped SpecObjects newChildDescriptors.add( createChildParameter( SPEC_HIERARCHY__CHILDREN, ReqIF10Factory.eINSTANCE.createSpecObject())); // Allow creation of typed SpecObjects ProrUtil.collectNewChildDescriptorsForTypeCreators( newChildDescriptors, object, SPEC_HIERARCHY__CHILDREN, SpecObjectType.class); }