|
|
@@ -9,6 +9,8 @@ import java.util.List;
|
|
|
import org.eclipse.emf.common.notify.AdapterFactory;
|
|
|
import org.eclipse.emf.common.notify.Notification;
|
|
|
|
|
|
+import org.eclipse.emf.ecore.EStructuralFeature;
|
|
|
+
|
|
|
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
|
|
|
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
|
|
|
import org.eclipse.emf.edit.provider.IItemLabelProvider;
|
|
|
@@ -19,6 +21,7 @@ import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
|
|
|
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
|
|
|
import org.eclipse.emf.edit.provider.ViewerNotification;
|
|
|
|
|
|
+import org.yakindu.sct.model.stext.stext.StextFactory;
|
|
|
import org.yakindu.sct.model.stext.stext.StextPackage;
|
|
|
import org.yakindu.sct.model.stext.stext.TimeEventSpec;
|
|
|
import org.yakindu.sct.model.stext.stext.TimeEventType;
|
|
|
@@ -63,7 +66,6 @@ public class TimeEventSpecItemProvider
|
|
|
super.getPropertyDescriptors(object);
|
|
|
|
|
|
addTypePropertyDescriptor(object);
|
|
|
- addValuePropertyDescriptor(object);
|
|
|
addUnitPropertyDescriptor(object);
|
|
|
}
|
|
|
return itemPropertyDescriptors;
|
|
|
@@ -93,49 +95,59 @@ public class TimeEventSpecItemProvider
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * This adds a property descriptor for the Value feature.
|
|
|
+ * This adds a property descriptor for the Unit feature.
|
|
|
* <!-- begin-user-doc -->
|
|
|
* <!-- end-user-doc -->
|
|
|
* @generated
|
|
|
*/
|
|
|
- protected void addValuePropertyDescriptor(Object object)
|
|
|
+ protected void addUnitPropertyDescriptor(Object object)
|
|
|
{
|
|
|
itemPropertyDescriptors.add
|
|
|
(createItemPropertyDescriptor
|
|
|
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
|
|
|
getResourceLocator(),
|
|
|
- getString("_UI_TimeEventSpec_value_feature"),
|
|
|
- getString("_UI_PropertyDescriptor_description", "_UI_TimeEventSpec_value_feature", "_UI_TimeEventSpec_type"),
|
|
|
- StextPackage.Literals.TIME_EVENT_SPEC__VALUE,
|
|
|
+ getString("_UI_TimeEventSpec_unit_feature"),
|
|
|
+ getString("_UI_PropertyDescriptor_description", "_UI_TimeEventSpec_unit_feature", "_UI_TimeEventSpec_type"),
|
|
|
+ StextPackage.Literals.TIME_EVENT_SPEC__UNIT,
|
|
|
true,
|
|
|
false,
|
|
|
false,
|
|
|
- ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
|
|
|
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
|
|
|
null,
|
|
|
null));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * This adds a property descriptor for the Unit feature.
|
|
|
+ * 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
|
|
|
*/
|
|
|
- protected void addUnitPropertyDescriptor(Object object)
|
|
|
+ @Override
|
|
|
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object)
|
|
|
{
|
|
|
- itemPropertyDescriptors.add
|
|
|
- (createItemPropertyDescriptor
|
|
|
- (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
|
|
|
- getResourceLocator(),
|
|
|
- getString("_UI_TimeEventSpec_unit_feature"),
|
|
|
- getString("_UI_PropertyDescriptor_description", "_UI_TimeEventSpec_unit_feature", "_UI_TimeEventSpec_type"),
|
|
|
- StextPackage.Literals.TIME_EVENT_SPEC__UNIT,
|
|
|
- true,
|
|
|
- false,
|
|
|
- false,
|
|
|
- ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
|
|
|
- null,
|
|
|
- null));
|
|
|
+ if (childrenFeatures == null)
|
|
|
+ {
|
|
|
+ super.getChildrenFeatures(object);
|
|
|
+ childrenFeatures.add(StextPackage.Literals.TIME_EVENT_SPEC__VALUE);
|
|
|
+ }
|
|
|
+ return childrenFeatures;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * <!-- begin-user-doc -->
|
|
|
+ * <!-- end-user-doc -->
|
|
|
+ * @generated
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ protected EStructuralFeature getChildFeature(Object object, Object child)
|
|
|
+ {
|
|
|
+ // Check the type of the specified child object and return the proper feature to use for
|
|
|
+ // adding (see {@link AddCommand}) it as a child.
|
|
|
+
|
|
|
+ return super.getChildFeature(object, child);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -181,10 +193,12 @@ public class TimeEventSpecItemProvider
|
|
|
switch (notification.getFeatureID(TimeEventSpec.class))
|
|
|
{
|
|
|
case StextPackage.TIME_EVENT_SPEC__TYPE:
|
|
|
- case StextPackage.TIME_EVENT_SPEC__VALUE:
|
|
|
case StextPackage.TIME_EVENT_SPEC__UNIT:
|
|
|
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
|
|
|
return;
|
|
|
+ case StextPackage.TIME_EVENT_SPEC__VALUE:
|
|
|
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
|
|
|
+ return;
|
|
|
}
|
|
|
super.notifyChanged(notification);
|
|
|
}
|
|
|
@@ -200,6 +214,106 @@ public class TimeEventSpecItemProvider
|
|
|
protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
|
|
|
{
|
|
|
super.collectNewChildDescriptors(newChildDescriptors, object);
|
|
|
+
|
|
|
+ newChildDescriptors.add
|
|
|
+ (createChildParameter
|
|
|
+ (StextPackage.Literals.TIME_EVENT_SPEC__VALUE,
|
|
|
+ StextFactory.eINSTANCE.createExpression()));
|
|
|
+
|
|
|
+ newChildDescriptors.add
|
|
|
+ (createChildParameter
|
|
|
+ (StextPackage.Literals.TIME_EVENT_SPEC__VALUE,
|
|
|
+ StextFactory.eINSTANCE.createEventRaisingExpression()));
|
|
|
+
|
|
|
+ newChildDescriptors.add
|
|
|
+ (createChildParameter
|
|
|
+ (StextPackage.Literals.TIME_EVENT_SPEC__VALUE,
|
|
|
+ StextFactory.eINSTANCE.createAssignmentExpression()));
|
|
|
+
|
|
|
+ newChildDescriptors.add
|
|
|
+ (createChildParameter
|
|
|
+ (StextPackage.Literals.TIME_EVENT_SPEC__VALUE,
|
|
|
+ StextFactory.eINSTANCE.createConditionalExpression()));
|
|
|
+
|
|
|
+ newChildDescriptors.add
|
|
|
+ (createChildParameter
|
|
|
+ (StextPackage.Literals.TIME_EVENT_SPEC__VALUE,
|
|
|
+ StextFactory.eINSTANCE.createLogicalOrExpression()));
|
|
|
+
|
|
|
+ newChildDescriptors.add
|
|
|
+ (createChildParameter
|
|
|
+ (StextPackage.Literals.TIME_EVENT_SPEC__VALUE,
|
|
|
+ StextFactory.eINSTANCE.createLogicalAndExpression()));
|
|
|
+
|
|
|
+ newChildDescriptors.add
|
|
|
+ (createChildParameter
|
|
|
+ (StextPackage.Literals.TIME_EVENT_SPEC__VALUE,
|
|
|
+ StextFactory.eINSTANCE.createLogicalNotExpression()));
|
|
|
+
|
|
|
+ newChildDescriptors.add
|
|
|
+ (createChildParameter
|
|
|
+ (StextPackage.Literals.TIME_EVENT_SPEC__VALUE,
|
|
|
+ StextFactory.eINSTANCE.createBitwiseXorExpression()));
|
|
|
+
|
|
|
+ newChildDescriptors.add
|
|
|
+ (createChildParameter
|
|
|
+ (StextPackage.Literals.TIME_EVENT_SPEC__VALUE,
|
|
|
+ StextFactory.eINSTANCE.createBitwiseOrExpression()));
|
|
|
+
|
|
|
+ newChildDescriptors.add
|
|
|
+ (createChildParameter
|
|
|
+ (StextPackage.Literals.TIME_EVENT_SPEC__VALUE,
|
|
|
+ StextFactory.eINSTANCE.createBitwiseAndExpression()));
|
|
|
+
|
|
|
+ newChildDescriptors.add
|
|
|
+ (createChildParameter
|
|
|
+ (StextPackage.Literals.TIME_EVENT_SPEC__VALUE,
|
|
|
+ StextFactory.eINSTANCE.createLogicalRelationExpression()));
|
|
|
+
|
|
|
+ newChildDescriptors.add
|
|
|
+ (createChildParameter
|
|
|
+ (StextPackage.Literals.TIME_EVENT_SPEC__VALUE,
|
|
|
+ StextFactory.eINSTANCE.createShiftExpression()));
|
|
|
+
|
|
|
+ newChildDescriptors.add
|
|
|
+ (createChildParameter
|
|
|
+ (StextPackage.Literals.TIME_EVENT_SPEC__VALUE,
|
|
|
+ StextFactory.eINSTANCE.createNumericalAddSubtractExpression()));
|
|
|
+
|
|
|
+ newChildDescriptors.add
|
|
|
+ (createChildParameter
|
|
|
+ (StextPackage.Literals.TIME_EVENT_SPEC__VALUE,
|
|
|
+ StextFactory.eINSTANCE.createNumericalMultiplyDivideExpression()));
|
|
|
+
|
|
|
+ newChildDescriptors.add
|
|
|
+ (createChildParameter
|
|
|
+ (StextPackage.Literals.TIME_EVENT_SPEC__VALUE,
|
|
|
+ StextFactory.eINSTANCE.createNumericalUnaryExpression()));
|
|
|
+
|
|
|
+ newChildDescriptors.add
|
|
|
+ (createChildParameter
|
|
|
+ (StextPackage.Literals.TIME_EVENT_SPEC__VALUE,
|
|
|
+ StextFactory.eINSTANCE.createPrimitiveValueExpression()));
|
|
|
+
|
|
|
+ newChildDescriptors.add
|
|
|
+ (createChildParameter
|
|
|
+ (StextPackage.Literals.TIME_EVENT_SPEC__VALUE,
|
|
|
+ StextFactory.eINSTANCE.createFeatureCall()));
|
|
|
+
|
|
|
+ newChildDescriptors.add
|
|
|
+ (createChildParameter
|
|
|
+ (StextPackage.Literals.TIME_EVENT_SPEC__VALUE,
|
|
|
+ StextFactory.eINSTANCE.createElementReferenceExpression()));
|
|
|
+
|
|
|
+ newChildDescriptors.add
|
|
|
+ (createChildParameter
|
|
|
+ (StextPackage.Literals.TIME_EVENT_SPEC__VALUE,
|
|
|
+ StextFactory.eINSTANCE.createEventValueReferenceExpression()));
|
|
|
+
|
|
|
+ newChildDescriptors.add
|
|
|
+ (createChildParameter
|
|
|
+ (StextPackage.Literals.TIME_EVENT_SPEC__VALUE,
|
|
|
+ StextFactory.eINSTANCE.createActiveStateReferenceExpression()));
|
|
|
}
|
|
|
|
|
|
}
|