Пример #1
0
  /**
   * 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;
  }
Пример #2
0
 /**
  * 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;
 }
Пример #3
0
  /**
   * 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()));
  }
Пример #4
0
  /**
   * 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;
  }
Пример #5
0
  /**
   * 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);
  }
Пример #6
0
  /**
   * 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);
  }