Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVincent Lorenzo2013-08-07 14:39:14 +0000
committerVincent Lorenzo2013-08-07 14:39:14 +0000
commitdcffa26ffa70c439683cc5a9f56429fe7ed9ea0c (patch)
tree2b3beaacb4e1aaf072cce4d820ecfc413415eb6a /extraplugins
parent767fe2bde06aad86789a9a5419665b59854e3580 (diff)
parentcad7bfdb3e250e6868074f8b997626bd7aad620f (diff)
downloadorg.eclipse.papyrus-dcffa26ffa70c439683cc5a9f56429fe7ed9ea0c.tar.gz
org.eclipse.papyrus-dcffa26ffa70c439683cc5a9f56429fe7ed9ea0c.tar.xz
org.eclipse.papyrus-dcffa26ffa70c439683cc5a9f56429fe7ed9ea0c.zip
Merge branch 'pasteInTable'
Diffstat (limited to 'extraplugins')
-rw-r--r--extraplugins/table/org.eclipse.papyrus.infra.emf.nattable/src/org/eclipse/papyrus/infra/emf/nattable/manager/cell/EMFFeatureValueCellManager.java141
-rw-r--r--extraplugins/table/org.eclipse.papyrus.infra.nattable.model.edit/plugin.properties2
-rw-r--r--extraplugins/table/org.eclipse.papyrus.infra.nattable.model.edit/src-gen/org/eclipse/papyrus/infra/nattable/model/nattable/nattableaxisconfiguration/provider/IPasteConfigurationItemProvider.java43
-rw-r--r--extraplugins/table/org.eclipse.papyrus.infra.nattable.model.edit/src-gen/org/eclipse/papyrus/infra/nattable/model/nattable/nattableaxisconfiguration/provider/PasteEObjectConfigurationItemProvider.java5
-rw-r--r--extraplugins/table/org.eclipse.papyrus.infra.nattable.model/model/nattable.ecore12
-rw-r--r--extraplugins/table/org.eclipse.papyrus.infra.nattable.model/src-gen/org/eclipse/papyrus/infra/nattable/model/nattable/nattableaxisconfiguration/IPasteConfiguration.java56
-rw-r--r--extraplugins/table/org.eclipse.papyrus.infra.nattable.model/src-gen/org/eclipse/papyrus/infra/nattable/model/nattable/nattableaxisconfiguration/NattableaxisconfigurationPackage.java86
-rw-r--r--extraplugins/table/org.eclipse.papyrus.infra.nattable.model/src-gen/org/eclipse/papyrus/infra/nattable/model/nattable/nattableaxisconfiguration/impl/IPasteConfigurationImpl.java175
-rw-r--r--extraplugins/table/org.eclipse.papyrus.infra.nattable.model/src-gen/org/eclipse/papyrus/infra/nattable/model/nattable/nattableaxisconfiguration/impl/NattableaxisconfigurationPackageImpl.java24
-rw-r--r--extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/META-INF/MANIFEST.MF4
-rw-r--r--extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/model/nattable.ctx3037
-rw-r--r--extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/model/ui/CanPasteEObjectColumnSection.xwt26
-rw-r--r--extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/model/ui/CanPasteEObjectRowSection.xwt26
-rw-r--r--extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/modelelement/NatTableModelElement.java37
-rw-r--r--extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/observable/AbstractPasteObjectPostActionsObservableValue.java77
-rw-r--r--extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/observable/ColumnPasteObjectDetachedModeObservableValue.java50
-rw-r--r--extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/observable/ColumnPasteObjectPostActionsObservableValue.java52
-rw-r--r--extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/observable/RowPasteObjectDetachedModeObservableValue.java50
-rw-r--r--extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/observable/RowPasteObjectPostActionsObservableValue.java51
-rw-r--r--extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/utils/Constants.java8
-rw-r--r--extraplugins/table/org.eclipse.papyrus.infra.nattable/META-INF/MANIFEST.MF1
-rw-r--r--extraplugins/table/org.eclipse.papyrus.infra.nattable/plugin.xml1
-rw-r--r--extraplugins/table/org.eclipse.papyrus.infra.nattable/schema/org.eclipse.papyrus.infra.nattable.paste.postactions.exsd114
-rw-r--r--extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/cell/AbstractCellManager.java31
-rw-r--r--extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/cell/CellManagerFactory.java47
-rw-r--r--extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/cell/ICellManager.java36
-rw-r--r--extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/table/NattableModelManager.java23
-rw-r--r--extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/messages/Messages.java20
-rw-r--r--extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/messages/messages.properties10
-rw-r--r--extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/paste/IPastePostAction.java68
-rw-r--r--extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/paste/PastePostActionRegistry.java124
-rw-r--r--extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/paste/ReferenceValueSetter.java103
-rw-r--r--extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/provider/PasteEObjectAxisInTableCommandProvider.java379
-rw-r--r--extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/utils/Constants.java14
-rw-r--r--extraplugins/table/org.eclipse.papyrus.sysml.nattable/src/org/eclipse/papyrus/sysml/nattable/manager/cell/SysMLStereotypePropertyCellManager.java4
-rw-r--r--extraplugins/table/org.eclipse.papyrus.uml.nattable/plugin.xml6
-rw-r--r--extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/dataprovider/UMLSingleReferenceComboBoxDataProvider.java2
-rw-r--r--extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/dataprovider/UMLStereotypeSingleEnumerationComboBoxDataProvider.java2
-rw-r--r--extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/editor/AbstractUMLMultiValueCellEditor.java2
-rw-r--r--extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/manager/cell/StereotypePropertyCellManager.java120
-rw-r--r--extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/manager/cell/UMLFeatureCellManager.java7
-rw-r--r--extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/paste/ApplyStereotypePastePostAction.java193
-rw-r--r--extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/paste/PapyrusElementOperations.java86
-rw-r--r--extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/paste/PasteUMLUtil.java78
-rw-r--r--extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/paste/StereotypeApplicationStructure.java101
-rw-r--r--extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/utils/Constants.java8
-rw-r--r--extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/utils/UMLTableUtils.java119
-rw-r--r--extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/widget/UMLDialogComboAction.java2
48 files changed, 3373 insertions, 2290 deletions
diff --git a/extraplugins/table/org.eclipse.papyrus.infra.emf.nattable/src/org/eclipse/papyrus/infra/emf/nattable/manager/cell/EMFFeatureValueCellManager.java b/extraplugins/table/org.eclipse.papyrus.infra.emf.nattable/src/org/eclipse/papyrus/infra/emf/nattable/manager/cell/EMFFeatureValueCellManager.java
index 3fcbdc9bb09..63f47700a9f 100644
--- a/extraplugins/table/org.eclipse.papyrus.infra.emf.nattable/src/org/eclipse/papyrus/infra/emf/nattable/manager/cell/EMFFeatureValueCellManager.java
+++ b/extraplugins/table/org.eclipse.papyrus.infra.emf.nattable/src/org/eclipse/papyrus/infra/emf/nattable/manager/cell/EMFFeatureValueCellManager.java
@@ -14,12 +14,14 @@
package org.eclipse.papyrus.infra.emf.nattable.manager.cell;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import java.util.Map;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.emf.common.command.Command;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.transaction.TransactionalEditingDomain;
import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
@@ -34,11 +36,14 @@ import org.eclipse.papyrus.infra.nattable.model.nattable.NattablePackage;
import org.eclipse.papyrus.infra.nattable.model.nattable.Table;
import org.eclipse.papyrus.infra.nattable.model.nattable.nattablecell.Cell;
import org.eclipse.papyrus.infra.nattable.model.nattable.nattablecell.ICellAxisWrapper;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablecell.IdAxisWrapper;
import org.eclipse.papyrus.infra.nattable.model.nattable.nattablecell.NattablecellFactory;
import org.eclipse.papyrus.infra.nattable.model.nattable.nattablecell.NattablecellPackage;
import org.eclipse.papyrus.infra.nattable.model.nattable.nattableproblem.NattableproblemFactory;
import org.eclipse.papyrus.infra.nattable.model.nattable.nattableproblem.StringResolutionProblem;
+import org.eclipse.papyrus.infra.nattable.paste.ReferenceValueSetter;
import org.eclipse.papyrus.infra.nattable.utils.AxisUtils;
+import org.eclipse.papyrus.infra.nattable.utils.Constants;
import org.eclipse.papyrus.infra.services.edit.service.ElementEditServiceUtils;
import org.eclipse.papyrus.infra.services.edit.service.IElementEditService;
import org.eclipse.papyrus.infra.tools.converter.AbstractStringValueConverter;
@@ -63,7 +68,7 @@ public class EMFFeatureValueCellManager extends AbstractCellManager {
*/
@Override
public boolean handles(final Object columnElement, final Object rowElement) {
- return organizeAndResolvedObjects(columnElement, rowElement) != null;
+ return organizeAndResolvedObjects(columnElement, rowElement, null) != null;
}
@@ -79,7 +84,7 @@ public class EMFFeatureValueCellManager extends AbstractCellManager {
*/
@Override
protected Object doGetValue(Object columnElement, Object rowElement, INattableModelManager tableManager) {
- final List<Object> objects = organizeAndResolvedObjects(columnElement, rowElement);
+ final List<Object> objects = organizeAndResolvedObjects(columnElement, rowElement, null);
final EObject eobject = (EObject)objects.get(0);
final EStructuralFeature feature = (EStructuralFeature)objects.get(1);
if(eobject.eClass().getEAllStructuralFeatures().contains(feature)) {
@@ -94,6 +99,8 @@ public class EMFFeatureValueCellManager extends AbstractCellManager {
* the column element
* @param rowElement
* the row element
+ * @param sharedMap
+ * TODO
* @return
* <code>null</code> or a list of 2 objects.
* <ul>
@@ -101,7 +108,7 @@ public class EMFFeatureValueCellManager extends AbstractCellManager {
* <li>the second one is the edited feature</li>
* </ul>
*/
- protected List<Object> organizeAndResolvedObjects(final Object columnElement, final Object rowElement) {
+ protected List<Object> organizeAndResolvedObjects(final Object columnElement, final Object rowElement, Map<?, ?> sharedMap) {
List<Object> objects = null;
final Object row = AxisUtils.getRepresentedElement(rowElement);
final Object column = AxisUtils.getRepresentedElement(columnElement);
@@ -128,7 +135,7 @@ public class EMFFeatureValueCellManager extends AbstractCellManager {
*/
@Override
public boolean isCellEditable(final Object columnElement, final Object rowElement) {
- final List<Object> objects = organizeAndResolvedObjects(columnElement, rowElement);
+ final List<Object> objects = organizeAndResolvedObjects(columnElement, rowElement, null);
final EObject object = (EObject)objects.get(0);
final EStructuralFeature feature = (EStructuralFeature)objects.get(1);
if(object.eClass().getEAllStructuralFeatures().contains(feature)) {
@@ -153,7 +160,7 @@ public class EMFFeatureValueCellManager extends AbstractCellManager {
*/
@Override
public Command getSetValueCommand(final TransactionalEditingDomain domain, final Object columnElement, final Object rowElement, final Object newValue, final INattableModelManager tableManager) {
- final List<Object> objects = organizeAndResolvedObjects(columnElement, rowElement);
+ final List<Object> objects = organizeAndResolvedObjects(columnElement, rowElement, null);
return getSetValueCommand(domain, (EObject)objects.get(0), (EStructuralFeature)objects.get(1), newValue);
}
@@ -190,7 +197,7 @@ public class EMFFeatureValueCellManager extends AbstractCellManager {
*/
@Override
public Command getSetStringValueCommand(final TransactionalEditingDomain domain, final Object columnElement, final Object rowElement, final String newValue, final AbstractStringValueConverter valueSolver, final INattableModelManager tableManager) {
- final List<Object> objects = organizeAndResolvedObjects(columnElement, rowElement);
+ final List<Object> objects = organizeAndResolvedObjects(columnElement, rowElement, null);
final EObject editedObject = (EObject)objects.get(0);
final EStructuralFeature editedFeature = (EStructuralFeature)objects.get(1);
ConvertedValueContainer<?> solvedValue = valueSolver.deduceValueFromString(editedFeature, newValue);
@@ -324,4 +331,126 @@ public class EMFFeatureValueCellManager extends AbstractCellManager {
}
return converter;
}
+
+ /**
+ *
+ * @see org.eclipse.papyrus.infra.nattable.manager.cell.AbstractCellManager#setValue(org.eclipse.emf.transaction.TransactionalEditingDomain,
+ * java.lang.Object, java.lang.Object, java.lang.Object, org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager)
+ *
+ * @param domain
+ * @param columnElement
+ * @param rowElement
+ * @param newValue
+ * @param tableManager
+ */
+ @Override
+ public void setValue(final TransactionalEditingDomain domain, final Object columnElement, final Object rowElement, final Object newValue, final INattableModelManager tableManager) {
+ if(domain == null) {
+ final List<Object> objects = organizeAndResolvedObjects(columnElement, rowElement, null);
+ final EObject elementToEdit = (EObject)objects.get(0);
+ final EStructuralFeature editedFeature = (EStructuralFeature)objects.get(1);
+ elementToEdit.eSet(editedFeature, newValue);
+ } else {
+ super.setValue(domain, columnElement, rowElement, newValue, tableManager);
+ }
+ }
+
+ //FIXME : could be in a util class
+ protected void createStringResolutionProblemProblem(final INattableModelManager tableManager, final Object columnElement, final Object rowElement, final String pastedText, final ConvertedValueContainer<?> valueContainer, final Map<?, ?> sharedMap) {
+ final IStatus status = valueContainer.getStatus();
+ if(!status.isOK()) {
+ if(status.matches(IStatus.ERROR)) {
+ final List<ReferenceValueSetter> references = (List<ReferenceValueSetter>)sharedMap.get(Constants.REFERENCES_TO_SET_KEY);
+ if(status.matches(IStatus.ERROR)) {
+ Cell cell = tableManager.getCell(columnElement, rowElement);
+
+ if(cell == null) {
+ //we create the cell
+ final Table table = tableManager.getTable();
+ cell = NattablecellFactory.eINSTANCE.createCell();
+
+ //create the columnWrapper;
+ final Object column = AxisUtils.getRepresentedElement(columnElement);
+ ICellAxisWrapper columnWrapper = null;
+ if(column instanceof String) {
+ columnWrapper = NattablecellFactory.eINSTANCE.createIdAxisWrapper();
+ ((IdAxisWrapper)columnWrapper).setElement((String)column);
+ } else if(column instanceof EObject) {
+ columnWrapper = NattablecellFactory.eINSTANCE.createEObjectAxisWrapper();
+ ReferenceValueSetter structure = new ReferenceValueSetter(columnWrapper, NattablecellPackage.eINSTANCE.getEObjectAxisWrapper_Element(), column);
+ references.add(structure);
+ }
+
+ final Object row = AxisUtils.getRepresentedElement(rowElement);
+ ICellAxisWrapper rowWrapper = null;
+ if(row instanceof String) {
+ rowWrapper = NattablecellFactory.eINSTANCE.createIdAxisWrapper();
+ ((IdAxisWrapper)rowWrapper).setElement((String)row);
+ } else if(row instanceof EObject) {
+ rowWrapper = NattablecellFactory.eINSTANCE.createEObjectAxisWrapper();
+ ReferenceValueSetter structure = new ReferenceValueSetter(rowWrapper, NattablecellPackage.eINSTANCE.getEObjectAxisWrapper_Element(), row);
+ references.add(structure);
+ }
+
+ if(rowWrapper == null || columnWrapper == null) {
+ throw new UnsupportedOperationException("Case not managed"); //$NON-NLS-1$
+ }
+ cell.setColumnWrapper(columnWrapper);
+ cell.setRowWrapper(rowWrapper);
+ final List<Cell> cells = (List<Cell>)sharedMap.get(Constants.CELLS_TO_ADD_KEY);
+ cells.add(cell);
+
+
+ }
+
+
+ final StringResolutionProblem problem = NattableproblemFactory.eINSTANCE.createStringResolutionProblem();
+ problem.setName("Set Value As Text Problem"); //$NON-NLS-1$
+ problem.setDescription(status.getMessage());
+ problem.setValueAsString(pastedText);
+
+ if(status instanceof StringValueConverterStatus) {
+ problem.getUnresolvedString().addAll(((StringValueConverterStatus)status).getUnresolvedString());
+ }
+
+ if(cell.eContainer() == null) {
+ cell.eSet(NattablecellPackage.eINSTANCE.getCell_Problems(), Collections.singleton(problem));
+ } else {
+ final ReferenceValueSetter structure = new ReferenceValueSetter(cell, NattablecellPackage.eINSTANCE.getCell_Problems(), problem);
+ references.add(structure);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ *
+ * @see org.eclipse.papyrus.infra.nattable.manager.cell.ICellManager#setStringValue(java.lang.Object, java.lang.Object, java.lang.String,
+ * org.eclipse.papyrus.infra.tools.converter.AbstractStringValueConverter,
+ * org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager, java.util.Map)
+ *
+ * @param columnElement
+ * @param rowElement
+ * @param valueAsString
+ * @param valueConverter
+ * @param tableManager
+ * @param sharedMap
+ */
+ @Override
+ public void setStringValue(final Object columnElement, final Object rowElement, final String valueAsString, final AbstractStringValueConverter valueConverter, final INattableModelManager tableManager, final Map<?, ?> sharedMap) {
+ final List<Object> objects = organizeAndResolvedObjects(columnElement, rowElement, sharedMap);
+ final EObject editedObject = (EObject)objects.get(0);
+ final EStructuralFeature editedFeature = (EStructuralFeature)objects.get(1);
+ ConvertedValueContainer<?> solvedValue = valueConverter.deduceValueFromString(editedFeature, valueAsString);
+ if(editedFeature instanceof EReference) {
+ final List<ReferenceValueSetter> references = (List<ReferenceValueSetter>)sharedMap.get(Constants.REFERENCES_TO_SET_KEY);
+ final ReferenceValueSetter structure = new ReferenceValueSetter(editedObject, (EReference)editedFeature, solvedValue.getConvertedValue());
+ references.add(structure);
+ } else {
+ editedObject.eSet(editedFeature, solvedValue.getConvertedValue());
+ }
+
+ createStringResolutionProblemProblem(tableManager, columnElement, rowElement, valueAsString, solvedValue, sharedMap);
+ }
}
diff --git a/extraplugins/table/org.eclipse.papyrus.infra.nattable.model.edit/plugin.properties b/extraplugins/table/org.eclipse.papyrus.infra.nattable.model.edit/plugin.properties
index 2ca8576a7a5..5f321a07945 100644
--- a/extraplugins/table/org.eclipse.papyrus.infra.nattable.model.edit/plugin.properties
+++ b/extraplugins/table/org.eclipse.papyrus.infra.nattable.model.edit/plugin.properties
@@ -209,3 +209,5 @@ _UI_EObjectAxisWrapper_element_feature = Element
_UI_IdAxisWrapper_element_feature = Element
_UI_StringResolutionProblem_valueAsString_feature = Value As String
_UI_StringResolutionProblem_unresolvedString_feature = Unresolved String
+_UI_IPasteConfiguration_postActions_feature = Post Actions
+_UI_IPasteConfiguration_detachedMode_feature = Detached Mode
diff --git a/extraplugins/table/org.eclipse.papyrus.infra.nattable.model.edit/src-gen/org/eclipse/papyrus/infra/nattable/model/nattable/nattableaxisconfiguration/provider/IPasteConfigurationItemProvider.java b/extraplugins/table/org.eclipse.papyrus.infra.nattable.model.edit/src-gen/org/eclipse/papyrus/infra/nattable/model/nattable/nattableaxisconfiguration/provider/IPasteConfigurationItemProvider.java
index d0b5eccb35d..baddadd22a0 100644
--- a/extraplugins/table/org.eclipse.papyrus.infra.nattable.model.edit/src-gen/org/eclipse/papyrus/infra/nattable/model/nattable/nattableaxisconfiguration/provider/IPasteConfigurationItemProvider.java
+++ b/extraplugins/table/org.eclipse.papyrus.infra.nattable.model.edit/src-gen/org/eclipse/papyrus/infra/nattable/model/nattable/nattableaxisconfiguration/provider/IPasteConfigurationItemProvider.java
@@ -21,14 +21,19 @@ import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.IItemPropertySource;
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.IPasteConfiguration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.NattableaxisconfigurationPackage;
import org.eclipse.papyrus.infra.nattable.model.nattable.provider.NattableEditPlugin;
/**
@@ -64,11 +69,39 @@ public class IPasteConfigurationItemProvider extends ItemProviderAdapter impleme
if(itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
+ addPostActionsPropertyDescriptor(object);
+ addDetachedModePropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
/**
+ * This adds a property descriptor for the Post Actions feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addPostActionsPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(), getString("_UI_IPasteConfiguration_postActions_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_IPasteConfiguration_postActions_feature", "_UI_IPasteConfiguration_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ NattableaxisconfigurationPackage.Literals.IPASTE_CONFIGURATION__POST_ACTIONS, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Detached Mode feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addDetachedModePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(), getString("_UI_IPasteConfiguration_detachedMode_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_IPasteConfiguration_detachedMode_feature", "_UI_IPasteConfiguration_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ NattableaxisconfigurationPackage.Literals.IPASTE_CONFIGURATION__DETACHED_MODE, true, false, false, ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
* This returns IPasteConfiguration.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -89,7 +122,8 @@ public class IPasteConfigurationItemProvider extends ItemProviderAdapter impleme
*/
@Override
public String getText(Object object) {
- return getString("_UI_IPasteConfiguration_type"); //$NON-NLS-1$
+ IPasteConfiguration iPasteConfiguration = (IPasteConfiguration)object;
+ return getString("_UI_IPasteConfiguration_type") + " " + iPasteConfiguration.isDetachedMode(); //$NON-NLS-1$ //$NON-NLS-2$
}
/**
@@ -103,6 +137,13 @@ public class IPasteConfigurationItemProvider extends ItemProviderAdapter impleme
@Override
public void notifyChanged(Notification notification) {
updateChildren(notification);
+
+ switch(notification.getFeatureID(IPasteConfiguration.class)) {
+ case NattableaxisconfigurationPackage.IPASTE_CONFIGURATION__POST_ACTIONS:
+ case NattableaxisconfigurationPackage.IPASTE_CONFIGURATION__DETACHED_MODE:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
super.notifyChanged(notification);
}
diff --git a/extraplugins/table/org.eclipse.papyrus.infra.nattable.model.edit/src-gen/org/eclipse/papyrus/infra/nattable/model/nattable/nattableaxisconfiguration/provider/PasteEObjectConfigurationItemProvider.java b/extraplugins/table/org.eclipse.papyrus.infra.nattable.model.edit/src-gen/org/eclipse/papyrus/infra/nattable/model/nattable/nattableaxisconfiguration/provider/PasteEObjectConfigurationItemProvider.java
index fa052d24b37..e87a07e5c66 100644
--- a/extraplugins/table/org.eclipse.papyrus.infra.nattable.model.edit/src-gen/org/eclipse/papyrus/infra/nattable/model/nattable/nattableaxisconfiguration/provider/PasteEObjectConfigurationItemProvider.java
+++ b/extraplugins/table/org.eclipse.papyrus.infra.nattable.model.edit/src-gen/org/eclipse/papyrus/infra/nattable/model/nattable/nattableaxisconfiguration/provider/PasteEObjectConfigurationItemProvider.java
@@ -118,9 +118,8 @@ public class PasteEObjectConfigurationItemProvider extends IPasteConfigurationIt
*/
@Override
public String getText(Object object) {
- String label = ((PasteEObjectConfiguration)object).getPastedElementId();
- return label == null || label.length() == 0 ? getString("_UI_PasteEObjectConfiguration_type") : //$NON-NLS-1$
- getString("_UI_PasteEObjectConfiguration_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ PasteEObjectConfiguration pasteEObjectConfiguration = (PasteEObjectConfiguration)object;
+ return getString("_UI_PasteEObjectConfiguration_type") + " " + pasteEObjectConfiguration.isDetachedMode(); //$NON-NLS-1$ //$NON-NLS-2$
}
/**
diff --git a/extraplugins/table/org.eclipse.papyrus.infra.nattable.model/model/nattable.ecore b/extraplugins/table/org.eclipse.papyrus.infra.nattable.model/model/nattable.ecore
index 32ba3aa3919..db0a82df6e8 100644
--- a/extraplugins/table/org.eclipse.papyrus.infra.nattable.model/model/nattable.ecore
+++ b/extraplugins/table/org.eclipse.papyrus.infra.nattable.model/model/nattable.ecore
@@ -489,6 +489,18 @@
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Common Interface for the paste configuration."/>
</eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="postActions" upperBound="-1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This field references post actions, using a string to do during the paste, after the creation of the element. "/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="detachedMode" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="If true, the created elements will be added at the end of the paste and the set values&#xD;&#xA;won't be do using the service edit"/>
+ </eAnnotations>
+ </eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PasteEObjectConfiguration" eSuperTypes="#//nattableaxisconfiguration/IPasteConfiguration">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
diff --git a/extraplugins/table/org.eclipse.papyrus.infra.nattable.model/src-gen/org/eclipse/papyrus/infra/nattable/model/nattable/nattableaxisconfiguration/IPasteConfiguration.java b/extraplugins/table/org.eclipse.papyrus.infra.nattable.model/src-gen/org/eclipse/papyrus/infra/nattable/model/nattable/nattableaxisconfiguration/IPasteConfiguration.java
index 88b09847287..a681886fb29 100644
--- a/extraplugins/table/org.eclipse.papyrus.infra.nattable.model/src-gen/org/eclipse/papyrus/infra/nattable/model/nattable/nattableaxisconfiguration/IPasteConfiguration.java
+++ b/extraplugins/table/org.eclipse.papyrus.infra.nattable.model/src-gen/org/eclipse/papyrus/infra/nattable/model/nattable/nattableaxisconfiguration/IPasteConfiguration.java
@@ -12,6 +12,8 @@
*/
package org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration;
+import org.eclipse.emf.common.util.EList;
+
/**
* <!-- begin-user-doc -->
@@ -22,10 +24,64 @@ package org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfigurat
* Common Interface for the paste configuration.
* <!-- end-model-doc -->
*
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.IPasteConfiguration#getPostActions <em>Post Actions</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.IPasteConfiguration#isDetachedMode <em>Detached Mode</em>}</li>
+ * </ul>
+ * </p>
*
* @see org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.NattableaxisconfigurationPackage#getIPasteConfiguration()
* @model
* @generated
*/
public interface IPasteConfiguration extends IAxisConfiguration {
+
+ /**
+ * Returns the value of the '<em><b>Post Actions</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * This field references post actions, using a string to do during the paste, after the creation of the element.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Post Actions</em>' attribute list.
+ * @see org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.NattableaxisconfigurationPackage#getIPasteConfiguration_PostActions()
+ * @model
+ * @generated
+ */
+ EList<String> getPostActions();
+
+ /**
+ * Returns the value of the '<em><b>Detached Mode</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If true, the created elements will be added at the end of the paste and the set values
+ * won't be do using the service edit
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Detached Mode</em>' attribute.
+ * @see #setDetachedMode(boolean)
+ * @see org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.NattableaxisconfigurationPackage#getIPasteConfiguration_DetachedMode()
+ * @model default="true"
+ * @generated
+ */
+ boolean isDetachedMode();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.IPasteConfiguration#isDetachedMode
+ * <em>Detached Mode</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Detached Mode</em>' attribute.
+ * @see #isDetachedMode()
+ * @generated
+ */
+ void setDetachedMode(boolean value);
} // IPasteConfiguration
diff --git a/extraplugins/table/org.eclipse.papyrus.infra.nattable.model/src-gen/org/eclipse/papyrus/infra/nattable/model/nattable/nattableaxisconfiguration/NattableaxisconfigurationPackage.java b/extraplugins/table/org.eclipse.papyrus.infra.nattable.model/src-gen/org/eclipse/papyrus/infra/nattable/model/nattable/nattableaxisconfiguration/NattableaxisconfigurationPackage.java
index 0c15644d45a..882945a7774 100644
--- a/extraplugins/table/org.eclipse.papyrus.infra.nattable.model/src-gen/org/eclipse/papyrus/infra/nattable/model/nattable/nattableaxisconfiguration/NattableaxisconfigurationPackage.java
+++ b/extraplugins/table/org.eclipse.papyrus.infra.nattable.model/src-gen/org/eclipse/papyrus/infra/nattable/model/nattable/nattableaxisconfiguration/NattableaxisconfigurationPackage.java
@@ -734,6 +734,26 @@ public interface NattableaxisconfigurationPackage extends EPackage {
int IPASTE_CONFIGURATION = 9;
/**
+ * The feature id for the '<em><b>Post Actions</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IPASTE_CONFIGURATION__POST_ACTIONS = IAXIS_CONFIGURATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Detached Mode</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IPASTE_CONFIGURATION__DETACHED_MODE = IAXIS_CONFIGURATION_FEATURE_COUNT + 1;
+
+ /**
* The number of structural features of the '<em>IPaste Configuration</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -741,7 +761,7 @@ public interface NattableaxisconfigurationPackage extends EPackage {
* @generated
* @ordered
*/
- int IPASTE_CONFIGURATION_FEATURE_COUNT = IAXIS_CONFIGURATION_FEATURE_COUNT + 0;
+ int IPASTE_CONFIGURATION_FEATURE_COUNT = IAXIS_CONFIGURATION_FEATURE_COUNT + 2;
/**
* The number of operations of the '<em>IPaste Configuration</em>' class.
@@ -767,6 +787,26 @@ public interface NattableaxisconfigurationPackage extends EPackage {
int PASTE_EOBJECT_CONFIGURATION = 10;
/**
+ * The feature id for the '<em><b>Post Actions</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PASTE_EOBJECT_CONFIGURATION__POST_ACTIONS = IPASTE_CONFIGURATION__POST_ACTIONS;
+
+ /**
+ * The feature id for the '<em><b>Detached Mode</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PASTE_EOBJECT_CONFIGURATION__DETACHED_MODE = IPASTE_CONFIGURATION__DETACHED_MODE;
+
+ /**
* The feature id for the '<em><b>Pasted Element Id</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1183,6 +1223,32 @@ public interface NattableaxisconfigurationPackage extends EPackage {
EClass getIPasteConfiguration();
/**
+ * Returns the meta object for the attribute list '
+ * {@link org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.IPasteConfiguration#getPostActions <em>Post Actions</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute list '<em>Post Actions</em>'.
+ * @see org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.IPasteConfiguration#getPostActions()
+ * @see #getIPasteConfiguration()
+ * @generated
+ */
+ EAttribute getIPasteConfiguration_PostActions();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.IPasteConfiguration#isDetachedMode <em>Detached Mode</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Detached Mode</em>'.
+ * @see org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.IPasteConfiguration#isDetachedMode()
+ * @see #getIPasteConfiguration()
+ * @generated
+ */
+ EAttribute getIPasteConfiguration_DetachedMode();
+
+ /**
* Returns the meta object for class '
* {@link org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.PasteEObjectConfiguration
* <em>Paste EObject Configuration</em>}'.
@@ -1543,6 +1609,24 @@ public interface NattableaxisconfigurationPackage extends EPackage {
EClass IPASTE_CONFIGURATION = eINSTANCE.getIPasteConfiguration();
/**
+ * The meta object literal for the '<em><b>Post Actions</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute IPASTE_CONFIGURATION__POST_ACTIONS = eINSTANCE.getIPasteConfiguration_PostActions();
+
+ /**
+ * The meta object literal for the '<em><b>Detached Mode</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute IPASTE_CONFIGURATION__DETACHED_MODE = eINSTANCE.getIPasteConfiguration_DetachedMode();
+
+ /**
* The meta object literal for the '
* {@link org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.impl.PasteEObjectConfigurationImpl
* <em>Paste EObject Configuration</em>}' class.
diff --git a/extraplugins/table/org.eclipse.papyrus.infra.nattable.model/src-gen/org/eclipse/papyrus/infra/nattable/model/nattable/nattableaxisconfiguration/impl/IPasteConfigurationImpl.java b/extraplugins/table/org.eclipse.papyrus.infra.nattable.model/src-gen/org/eclipse/papyrus/infra/nattable/model/nattable/nattableaxisconfiguration/impl/IPasteConfigurationImpl.java
index 536ccac0257..e2d6e5b812d 100644
--- a/extraplugins/table/org.eclipse.papyrus.infra.nattable.model/src-gen/org/eclipse/papyrus/infra/nattable/model/nattable/nattableaxisconfiguration/impl/IPasteConfigurationImpl.java
+++ b/extraplugins/table/org.eclipse.papyrus.infra.nattable.model/src-gen/org/eclipse/papyrus/infra/nattable/model/nattable/nattableaxisconfiguration/impl/IPasteConfigurationImpl.java
@@ -12,10 +12,15 @@
*/
package org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.impl;
+import java.util.Collection;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.IPasteConfiguration;
import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.NattableaxisconfigurationPackage;
@@ -24,6 +29,13 @@ import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfigurati
* An implementation of the model object '<em><b>IPaste Configuration</b></em>'.
* <!-- end-user-doc -->
* <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.impl.IPasteConfigurationImpl#getPostActions <em>Post Actions
+ * </em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.impl.IPasteConfigurationImpl#isDetachedMode <em>Detached
+ * Mode</em>}</li>
+ * </ul>
* </p>
*
* @generated
@@ -31,6 +43,39 @@ import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfigurati
public class IPasteConfigurationImpl extends MinimalEObjectImpl.Container implements IPasteConfiguration {
/**
+ * The cached value of the '{@link #getPostActions() <em>Post Actions</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getPostActions()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> postActions;
+
+ /**
+ * The default value of the '{@link #isDetachedMode() <em>Detached Mode</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isDetachedMode()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean DETACHED_MODE_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isDetachedMode() <em>Detached Mode</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isDetachedMode()
+ * @generated
+ * @ordered
+ */
+ protected boolean detachedMode = DETACHED_MODE_EDEFAULT;
+
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
@@ -51,4 +96,134 @@ public class IPasteConfigurationImpl extends MinimalEObjectImpl.Container implem
return NattableaxisconfigurationPackage.Literals.IPASTE_CONFIGURATION;
}
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<String> getPostActions() {
+ if(postActions == null) {
+ postActions = new EDataTypeUniqueEList<String>(String.class, this, NattableaxisconfigurationPackage.IPASTE_CONFIGURATION__POST_ACTIONS);
+ }
+ return postActions;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isDetachedMode() {
+ return detachedMode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setDetachedMode(boolean newDetachedMode) {
+ boolean oldDetachedMode = detachedMode;
+ detachedMode = newDetachedMode;
+ if(eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NattableaxisconfigurationPackage.IPASTE_CONFIGURATION__DETACHED_MODE, oldDetachedMode, detachedMode));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch(featureID) {
+ case NattableaxisconfigurationPackage.IPASTE_CONFIGURATION__POST_ACTIONS:
+ return getPostActions();
+ case NattableaxisconfigurationPackage.IPASTE_CONFIGURATION__DETACHED_MODE:
+ return isDetachedMode();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch(featureID) {
+ case NattableaxisconfigurationPackage.IPASTE_CONFIGURATION__POST_ACTIONS:
+ getPostActions().clear();
+ getPostActions().addAll((Collection<? extends String>)newValue);
+ return;
+ case NattableaxisconfigurationPackage.IPASTE_CONFIGURATION__DETACHED_MODE:
+ setDetachedMode((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch(featureID) {
+ case NattableaxisconfigurationPackage.IPASTE_CONFIGURATION__POST_ACTIONS:
+ getPostActions().clear();
+ return;
+ case NattableaxisconfigurationPackage.IPASTE_CONFIGURATION__DETACHED_MODE:
+ setDetachedMode(DETACHED_MODE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch(featureID) {
+ case NattableaxisconfigurationPackage.IPASTE_CONFIGURATION__POST_ACTIONS:
+ return postActions != null && !postActions.isEmpty();
+ case NattableaxisconfigurationPackage.IPASTE_CONFIGURATION__DETACHED_MODE:
+ return detachedMode != DETACHED_MODE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if(eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (postActions: "); //$NON-NLS-1$
+ result.append(postActions);
+ result.append(", detachedMode: "); //$NON-NLS-1$
+ result.append(detachedMode);
+ result.append(')');
+ return result.toString();
+ }
+
} //IPasteConfigurationImpl
diff --git a/extraplugins/table/org.eclipse.papyrus.infra.nattable.model/src-gen/org/eclipse/papyrus/infra/nattable/model/nattable/nattableaxisconfiguration/impl/NattableaxisconfigurationPackageImpl.java b/extraplugins/table/org.eclipse.papyrus.infra.nattable.model/src-gen/org/eclipse/papyrus/infra/nattable/model/nattable/nattableaxisconfiguration/impl/NattableaxisconfigurationPackageImpl.java
index 66ea95d2bd3..97cc066eff0 100644
--- a/extraplugins/table/org.eclipse.papyrus.infra.nattable.model/src-gen/org/eclipse/papyrus/infra/nattable/model/nattable/nattableaxisconfiguration/impl/NattableaxisconfigurationPackageImpl.java
+++ b/extraplugins/table/org.eclipse.papyrus.infra.nattable.model/src-gen/org/eclipse/papyrus/infra/nattable/model/nattable/nattableaxisconfiguration/impl/NattableaxisconfigurationPackageImpl.java
@@ -546,6 +546,26 @@ public class NattableaxisconfigurationPackageImpl extends EPackageImpl implement
*
* @generated
*/
+ public EAttribute getIPasteConfiguration_PostActions() {
+ return (EAttribute)iPasteConfigurationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getIPasteConfiguration_DetachedMode() {
+ return (EAttribute)iPasteConfigurationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
public EClass getPasteEObjectConfiguration() {
return pasteEObjectConfigurationEClass;
}
@@ -648,6 +668,8 @@ public class NattableaxisconfigurationPackageImpl extends EPackageImpl implement
createEReference(eStructuralFeatureValueFillingConfigurationEClass, ESTRUCTURAL_FEATURE_VALUE_FILLING_CONFIGURATION__LISTEN_FEATURE);
iPasteConfigurationEClass = createEClass(IPASTE_CONFIGURATION);
+ createEAttribute(iPasteConfigurationEClass, IPASTE_CONFIGURATION__POST_ACTIONS);
+ createEAttribute(iPasteConfigurationEClass, IPASTE_CONFIGURATION__DETACHED_MODE);
pasteEObjectConfigurationEClass = createEClass(PASTE_EOBJECT_CONFIGURATION);
createEAttribute(pasteEObjectConfigurationEClass, PASTE_EOBJECT_CONFIGURATION__PASTED_ELEMENT_ID);
@@ -737,6 +759,8 @@ public class NattableaxisconfigurationPackageImpl extends EPackageImpl implement
initEReference(getEStructuralFeatureValueFillingConfiguration_ListenFeature(), ecorePackage.getEStructuralFeature(), null, "listenFeature", null, 1, 1, EStructuralFeatureValueFillingConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEClass(iPasteConfigurationEClass, IPasteConfiguration.class, "IPasteConfiguration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getIPasteConfiguration_PostActions(), ecorePackage.getEString(), "postActions", null, 0, -1, IPasteConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(getIPasteConfiguration_DetachedMode(), ecorePackage.getEBoolean(), "detachedMode", "true", 0, 1, IPasteConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
initEClass(pasteEObjectConfigurationEClass, PasteEObjectConfiguration.class, "PasteEObjectConfiguration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEAttribute(getPasteEObjectConfiguration_PastedElementId(), ecorePackage.getEString(), "pastedElementId", null, 0, 1, PasteEObjectConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
diff --git a/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/META-INF/MANIFEST.MF b/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/META-INF/MANIFEST.MF
index dfa99b4cbb1..d8cc050ab16 100644
--- a/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/META-INF/MANIFEST.MF
+++ b/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/META-INF/MANIFEST.MF
@@ -17,7 +17,9 @@ Require-Bundle: org.eclipse.ui,
org.eclipse.papyrus.infra.constraints;bundle-version="0.10.1",
org.eclipse.papyrus.infra.core,
org.eclipse.papyrus.infra.services.edit,
- org.eclipse.nebula.widgets.nattable.core;bundle-version="1.0.0"
+ org.eclipse.nebula.widgets.nattable.core;bundle-version="1.0.0",
+ org.eclipse.emf.databinding,
+ org.eclipse.core.databinding.property;bundle-version="1.4.200"
Export-Package: org.eclipse.papyrus.infra.nattable.properties.constrai
nts
Bundle-Vendor: %Bundle-Vendor
diff --git a/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/model/nattable.ctx b/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/model/nattable.ctx
index a0b30ab597e..9149aa4990b 100644
--- a/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/model/nattable.ctx
+++ b/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/model/nattable.ctx
@@ -1,2255 +1,882 @@
<?xml version="1.0" encoding="ASCII"?>
-<xmi:XMI xmi:version="2.0"
- xmlns:xmi="http://www.omg.org/XMI"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:constraints="http://www.eclipse.org/papyrus/constraints/0.9"
- xmlns:contexts="http://www.eclipse.org/papyrus/properties/contexts/0.9">
- <contexts:Context
- name="nattable">
- <tabs label="Table"
- id="Table"
- category="default"
- priority="1">
- <sections
- name="Single Table"
- sectionFile="ui/SingleTable.xwt">
- <widget
- href="ui/SingleTable.xwt#/"/>
- </sections>
- <sections
- name="Multiple Table"
- sectionFile="ui/MultipleTable.xwt">
- <widget
- href="ui/MultipleTable.xwt#/"/>
- </sections>
- <sections
- name="Single TableConfiguration"
- sectionFile="ui/SingleTableConfiguration.xwt">
- <widget
- href="ui/SingleTableConfiguration.xwt#/"/>
- </sections>
- <sections
- name="Multiple TableConfiguration"
- sectionFile="ui/MultipleTableConfiguration.xwt">
- <widget
- href="ui/MultipleTableConfiguration.xwt#/"/>
- </sections>
- <sections
- name="Single AbstractAxisProvider"
- sectionFile="ui/SingleAbstractAxisProvider.xwt">
- <widget
- href="ui/SingleAbstractAxisProvider.xwt#/"/>
- </sections>
- <sections
- name="Multiple AbstractAxisProvider"
- sectionFile="ui/MultipleAbstractAxisProvider.xwt">
- <widget
- href="ui/MultipleAbstractAxisProvider.xwt#/"/>
- </sections>
- <sections
- name="Single AxisProvider"
- sectionFile="ui/SingleAxisProvider.xwt">
- <widget
- href="ui/SingleAxisProvider.xwt#/"/>
- </sections>
- <sections
- name="Multiple AxisProvider"
- sectionFile="ui/MultipleAxisProvider.xwt">
- <widget
- href="ui/MultipleAxisProvider.xwt#/"/>
- </sections>
- <sections
- name="Single IMasterAxisProvider"
- sectionFile="ui/SingleIMasterAxisProvider.xwt">
- <widget
- href="ui/SingleIMasterAxisProvider.xwt#/"/>
- </sections>
- <sections
- name="Multiple IMasterAxisProvider"
- sectionFile="ui/MultipleIMasterAxisProvider.xwt">
- <widget
- href="ui/MultipleIMasterAxisProvider.xwt#/"/>
- </sections>
- <sections
- name="Single ISlaveAxisProvider"
- sectionFile="ui/SingleISlaveAxisProvider.xwt">
- <widget
- href="ui/SingleISlaveAxisProvider.xwt#/"/>
- </sections>
- <sections
- name="Multiple ISlaveAxisProvider"
- sectionFile="ui/MultipleISlaveAxisProvider.xwt">
- <widget
- href="ui/MultipleISlaveAxisProvider.xwt#/"/>
- </sections>
- <sections
- name="Single SlaveObjectAxisProvider"
- sectionFile="ui/SingleSlaveObjectAxisProvider.xwt">
- <widget
- href="ui/SingleSlaveObjectAxisProvider.xwt#/"/>
- </sections>
- <sections
- name="Multiple SlaveObjectAxisProvider"
- sectionFile="ui/MultipleSlaveObjectAxisProvider.xwt">
- <widget
- href="ui/MultipleSlaveObjectAxisProvider.xwt#/"/>
- </sections>
- <sections
- name="Single MasterObjectAxisProvider"
- sectionFile="ui/SingleMasterObjectAxisProvider.xwt">
- <widget
- href="ui/SingleMasterObjectAxisProvider.xwt#/"/>
- </sections>
- <sections
- name="Multiple MasterObjectAxisProvider"
- sectionFile="ui/MultipleMasterObjectAxisProvider.xwt">
- <widget
- href="ui/MultipleMasterObjectAxisProvider.xwt#/"/>
- </sections>
- <sections
- name="Single ILabelProviderConfiguration"
- sectionFile="ui/SingleILabelProviderConfiguration.xwt">
- <widget
- href="ui/SingleILabelProviderConfiguration.xwt#/"/>
- </sections>
- <sections
- name="Multiple ILabelProviderConfiguration"
- sectionFile="ui/MultipleILabelProviderConfiguration.xwt">
- <widget
- href="ui/MultipleILabelProviderConfiguration.xwt#/"/>
- </sections>
- <sections
- name="Single ObjectLabelProviderConfiguration"
- sectionFile="ui/SingleObjectLabelProviderConfiguration.xwt">
- <widget
- href="ui/SingleObjectLabelProviderConfiguration.xwt#/"/>
- </sections>
- <sections
- name="Multiple ObjectLabelProviderConfiguration"
- sectionFile="ui/MultipleObjectLabelProviderConfiguration.xwt">
- <widget
- href="ui/MultipleObjectLabelProviderConfiguration.xwt#/"/>
- </sections>
- <sections
- name="Single FeatureLabelProviderConfiguration"
- sectionFile="ui/SingleFeatureLabelProviderConfiguration.xwt">
- <widget
- href="ui/SingleFeatureLabelProviderConfiguration.xwt#/"/>
- </sections>
- <sections
- name="Multiple FeatureLabelProviderConfiguration"
- sectionFile="ui/MultipleFeatureLabelProviderConfiguration.xwt">
- <widget
- href="ui/MultipleFeatureLabelProviderConfiguration.xwt#/"/>
- </sections>
- <sections
- name="Single AbstractHeaderAxisConfiguration"
- sectionFile="ui/SingleAbstractHeaderAxisConfiguration.xwt">
- <widget
- href="ui/SingleAbstractHeaderAxisConfiguration.xwt#/"/>
- </sections>
- <sections
- name="Multiple AbstractHeaderAxisConfiguration"
- sectionFile="ui/MultipleAbstractHeaderAxisConfiguration.xwt">
- <widget
- href="ui/MultipleAbstractHeaderAxisConfiguration.xwt#/"/>
- </sections>
- <sections
- name="Single AxisManagerRepresentation"
- sectionFile="ui/SingleAxisManagerRepresentation.xwt">
- <widget
- href="ui/SingleAxisManagerRepresentation.xwt#/"/>
- </sections>
- <sections
- name="Multiple AxisManagerRepresentation"
- sectionFile="ui/MultipleAxisManagerRepresentation.xwt">
- <widget
- href="ui/MultipleAxisManagerRepresentation.xwt#/"/>
- </sections>
- <sections
- name="Single AxisManagerConfiguration"
- sectionFile="ui/SingleAxisManagerConfiguration.xwt">
- <widget
- href="ui/SingleAxisManagerConfiguration.xwt#/"/>
- </sections>
- <sections
- name="Multiple AxisManagerConfiguration"
- sectionFile="ui/MultipleAxisManagerConfiguration.xwt">
- <widget
- href="ui/MultipleAxisManagerConfiguration.xwt#/"/>
- </sections>
- <sections
- name="Single TableHeaderAxisConfiguration"
- sectionFile="ui/SingleTableHeaderAxisConfiguration.xwt">
- <widget
- href="ui/SingleTableHeaderAxisConfiguration.xwt#/"/>
- </sections>
- <sections
- name="Multiple TableHeaderAxisConfiguration"
- sectionFile="ui/MultipleTableHeaderAxisConfiguration.xwt">
- <widget
- href="ui/MultipleTableHeaderAxisConfiguration.xwt#/"/>
- </sections>
- <sections
- name="Single LocalTableHeaderAxisConfiguration"
- sectionFile="ui/SingleLocalTableHeaderAxisConfiguration.xwt">
- <widget
- href="ui/SingleLocalTableHeaderAxisConfiguration.xwt#/"/>
- </sections>
- <sections
- name="Multiple LocalTableHeaderAxisConfiguration"
- sectionFile="ui/MultipleLocalTableHeaderAxisConfiguration.xwt">
- <widget
- href="ui/MultipleLocalTableHeaderAxisConfiguration.xwt#/"/>
- </sections>
- <sections
- name="Single IAxisConfiguration"
- sectionFile="ui/SingleIAxisConfiguration.xwt">
- <widget
- href="ui/SingleIAxisConfiguration.xwt#/"/>
- </sections>
- <sections
- name="Multiple IAxisConfiguration"
- sectionFile="ui/MultipleIAxisConfiguration.xwt">
- <widget
- href="ui/MultipleIAxisConfiguration.xwt#/"/>
- </sections>
- <sections
- name="Single FeatureAxisConfiguration"
- sectionFile="ui/SingleFeatureAxisConfiguration.xwt">
- <widget
- href="ui/SingleFeatureAxisConfiguration.xwt#/"/>
- </sections>
- <sections
- name="Multiple FeatureAxisConfiguration"
- sectionFile="ui/MultipleFeatureAxisConfiguration.xwt">
- <widget
- href="ui/MultipleFeatureAxisConfiguration.xwt#/"/>
- </sections>
- <sections
- name="Single IFillingConfiguration"
- sectionFile="ui/SingleIFillingConfiguration.xwt">
- <widget
- href="ui/SingleIFillingConfiguration.xwt#/"/>
- </sections>
- <sections
- name="Multiple IFillingConfiguration"
- sectionFile="ui/MultipleIFillingConfiguration.xwt">
- <widget
- href="ui/MultipleIFillingConfiguration.xwt#/"/>
- </sections>
- <sections
- name="Single EStructuralFeatureValueFillingConfiguration"
- sectionFile="ui/SingleEStructuralFeatureValueFillingConfiguration.xwt">
- <widget
- href="ui/SingleEStructuralFeatureValueFillingConfiguration.xwt#/"/>
- </sections>
- <sections
- name="Multiple EStructuralFeatureValueFillingConfiguration"
- sectionFile="ui/MultipleEStructuralFeatureValueFillingConfiguration.xwt">
- <widget
- href="ui/MultipleEStructuralFeatureValueFillingConfiguration.xwt#/"/>
- </sections>
- <sections
- name="Single IPasteConfiguration"
- sectionFile="ui/SingleIPasteConfiguration.xwt">
- <widget
- href="ui/SingleIPasteConfiguration.xwt#/"/>
- </sections>
- <sections
- name="Multiple IPasteConfiguration"
- sectionFile="ui/MultipleIPasteConfiguration.xwt">
- <widget
- href="ui/MultipleIPasteConfiguration.xwt#/"/>
- </sections>
- <sections
- name="Single PasteEObjectConfiguration"
- sectionFile="ui/SinglePasteEObjectConfiguration.xwt">
- <widget
- href="ui/SinglePasteEObjectConfiguration.xwt#/"/>
- </sections>
- <sections
- name="Multiple PasteEObjectConfiguration"
- sectionFile="ui/MultiplePasteEObjectConfiguration.xwt">
- <widget
- href="ui/MultiplePasteEObjectConfiguration.xwt#/"/>
- </sections>
- <sections
- name="Single AbstractTableTester"
- sectionFile="ui/SingleAbstractTableTester.xwt">
- <widget
- href="ui/SingleAbstractTableTester.xwt#/"/>
- </sections>
- <sections
- name="Multiple AbstractTableTester"
- sectionFile="ui/MultipleAbstractTableTester.xwt">
- <widget
- href="ui/MultipleAbstractTableTester.xwt#/"/>
- </sections>
- <sections
- name="Single JavaTableTester"
- sectionFile="ui/SingleJavaTableTester.xwt">
- <widget
- href="ui/SingleJavaTableTester.xwt#/"/>
- </sections>
- <sections
- name="Multiple JavaTableTester"
- sectionFile="ui/MultipleJavaTableTester.xwt">
- <widget
- href="ui/MultipleJavaTableTester.xwt#/"/>
- </sections>
- <sections
- name="Single IAxis"
- sectionFile="ui/SingleIAxis.xwt">
- <widget
- href="ui/SingleIAxis.xwt#/"/>
- </sections>
- <sections
- name="Multiple IAxis"
- sectionFile="ui/MultipleIAxis.xwt">
- <widget
- href="ui/MultipleIAxis.xwt#/"/>
- </sections>
- <sections
- name="Single IdAxis"
- sectionFile="ui/SingleIdAxis.xwt">
- <widget
- href="ui/SingleIdAxis.xwt#/"/>
- </sections>
- <sections
- name="Multiple IdAxis"
- sectionFile="ui/MultipleIdAxis.xwt">
- <widget
- href="ui/MultipleIdAxis.xwt#/"/>
- </sections>
- <sections
- name="Single ObjectAxis"
- sectionFile="ui/SingleObjectAxis.xwt">
- <widget
- href="ui/SingleObjectAxis.xwt#/"/>
- </sections>
- <sections
- name="Multiple ObjectAxis"
- sectionFile="ui/MultipleObjectAxis.xwt">
- <widget
- href="ui/MultipleObjectAxis.xwt#/"/>
- </sections>
- <sections
- name="Single EObjectAxis"
- sectionFile="ui/SingleEObjectAxis.xwt">
- <widget
- href="ui/SingleEObjectAxis.xwt#/"/>
- </sections>
- <sections
- name="Multiple EObjectAxis"
- sectionFile="ui/MultipleEObjectAxis.xwt">
- <widget
- href="ui/MultipleEObjectAxis.xwt#/"/>
- </sections>
- <sections
- name="Single FeatureAxis"
- sectionFile="ui/SingleFeatureAxis.xwt">
- <widget
- href="ui/SingleFeatureAxis.xwt#/"/>
- </sections>
- <sections
- name="Multiple FeatureAxis"
- sectionFile="ui/MultipleFeatureAxis.xwt">
- <widget
- href="ui/MultipleFeatureAxis.xwt#/"/>
- </sections>
- <sections
- name="Single FeatureIdAxis"
- sectionFile="ui/SingleFeatureIdAxis.xwt">
- <widget
- href="ui/SingleFeatureIdAxis.xwt#/"/>
- </sections>
- <sections
- name="Multiple FeatureIdAxis"
- sectionFile="ui/MultipleFeatureIdAxis.xwt">
- <widget
- href="ui/MultipleFeatureIdAxis.xwt#/"/>
- </sections>
- <sections
- name="Single EStructuralFeatureAxis"
- sectionFile="ui/SingleEStructuralFeatureAxis.xwt">
- <widget
- href="ui/SingleEStructuralFeatureAxis.xwt#/"/>
- </sections>
- <sections
- name="Multiple EStructuralFeatureAxis"
- sectionFile="ui/MultipleEStructuralFeatureAxis.xwt">
- <widget
- href="ui/MultipleEStructuralFeatureAxis.xwt#/"/>
- </sections>
- <sections
- name="Single ObjectIdAxis"
- sectionFile="ui/SingleObjectIdAxis.xwt">
- <widget
- href="ui/SingleObjectIdAxis.xwt#/"/>
- </sections>
- <sections
- name="Multiple ObjectIdAxis"
- sectionFile="ui/MultipleObjectIdAxis.xwt">
- <widget
- href="ui/MultipleObjectIdAxis.xwt#/"/>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:constraints="http://www.eclipse.org/papyrus/constraints/0.9" xmlns:contexts="http://www.eclipse.org/papyrus/properties/contexts/0.9">
+ <contexts:Context name="nattable">
+ <tabs label="Table" id="Table" category="default" priority="1">
+ <sections name="Single Table" sectionFile="ui/SingleTable.xwt">
+ <widget href="ui/SingleTable.xwt#/"/>
+ </sections>
+ <sections name="Multiple Table" sectionFile="ui/MultipleTable.xwt">
+ <widget href="ui/MultipleTable.xwt#/"/>
+ </sections>
+ <sections name="Single TableConfiguration" sectionFile="ui/SingleTableConfiguration.xwt">
+ <widget href="ui/SingleTableConfiguration.xwt#/"/>
+ </sections>
+ <sections name="Multiple TableConfiguration" sectionFile="ui/MultipleTableConfiguration.xwt">
+ <widget href="ui/MultipleTableConfiguration.xwt#/"/>
+ </sections>
+ <sections name="Single AbstractAxisProvider" sectionFile="ui/SingleAbstractAxisProvider.xwt">
+ <widget href="ui/SingleAbstractAxisProvider.xwt#/"/>
+ </sections>
+ <sections name="Multiple AbstractAxisProvider" sectionFile="ui/MultipleAbstractAxisProvider.xwt">
+ <widget href="ui/MultipleAbstractAxisProvider.xwt#/"/>
+ </sections>
+ <sections name="Single AxisProvider" sectionFile="ui/SingleAxisProvider.xwt">
+ <widget href="ui/SingleAxisProvider.xwt#/"/>
+ </sections>
+ <sections name="Multiple AxisProvider" sectionFile="ui/MultipleAxisProvider.xwt">
+ <widget href="ui/MultipleAxisProvider.xwt#/"/>
+ </sections>
+ <sections name="Single IMasterAxisProvider" sectionFile="ui/SingleIMasterAxisProvider.xwt">
+ <widget href="ui/SingleIMasterAxisProvider.xwt#/"/>
+ </sections>
+ <sections name="Multiple IMasterAxisProvider" sectionFile="ui/MultipleIMasterAxisProvider.xwt">
+ <widget href="ui/MultipleIMasterAxisProvider.xwt#/"/>
+ </sections>
+ <sections name="Single ISlaveAxisProvider" sectionFile="ui/SingleISlaveAxisProvider.xwt">
+ <widget href="ui/SingleISlaveAxisProvider.xwt#/"/>
+ </sections>
+ <sections name="Multiple ISlaveAxisProvider" sectionFile="ui/MultipleISlaveAxisProvider.xwt">
+ <widget href="ui/MultipleISlaveAxisProvider.xwt#/"/>
+ </sections>
+ <sections name="Single SlaveObjectAxisProvider" sectionFile="ui/SingleSlaveObjectAxisProvider.xwt">
+ <widget href="ui/SingleSlaveObjectAxisProvider.xwt#/"/>
+ </sections>
+ <sections name="Multiple SlaveObjectAxisProvider" sectionFile="ui/MultipleSlaveObjectAxisProvider.xwt">
+ <widget href="ui/MultipleSlaveObjectAxisProvider.xwt#/"/>
+ </sections>
+ <sections name="Single MasterObjectAxisProvider" sectionFile="ui/SingleMasterObjectAxisProvider.xwt">
+ <widget href="ui/SingleMasterObjectAxisProvider.xwt#/"/>
+ </sections>
+ <sections name="Multiple MasterObjectAxisProvider" sectionFile="ui/MultipleMasterObjectAxisProvider.xwt">
+ <widget href="ui/MultipleMasterObjectAxisProvider.xwt#/"/>
+ </sections>
+ <sections name="Single ILabelProviderConfiguration" sectionFile="ui/SingleILabelProviderConfiguration.xwt">
+ <widget href="ui/SingleILabelProviderConfiguration.xwt#/"/>
+ </sections>
+ <sections name="Multiple ILabelProviderConfiguration" sectionFile="ui/MultipleILabelProviderConfiguration.xwt">
+ <widget href="ui/MultipleILabelProviderConfiguration.xwt#/"/>
+ </sections>
+ <sections name="Single ObjectLabelProviderConfiguration" sectionFile="ui/SingleObjectLabelProviderConfiguration.xwt">
+ <widget href="ui/SingleObjectLabelProviderConfiguration.xwt#/"/>
+ </sections>
+ <sections name="Multiple ObjectLabelProviderConfiguration" sectionFile="ui/MultipleObjectLabelProviderConfiguration.xwt">
+ <widget href="ui/MultipleObjectLabelProviderConfiguration.xwt#/"/>
+ </sections>
+ <sections name="Single FeatureLabelProviderConfiguration" sectionFile="ui/SingleFeatureLabelProviderConfiguration.xwt">
+ <widget href="ui/SingleFeatureLabelProviderConfiguration.xwt#/"/>
+ </sections>
+ <sections name="Multiple FeatureLabelProviderConfiguration" sectionFile="ui/MultipleFeatureLabelProviderConfiguration.xwt">
+ <widget href="ui/MultipleFeatureLabelProviderConfiguration.xwt#/"/>
+ </sections>
+ <sections name="Single AbstractHeaderAxisConfiguration" sectionFile="ui/SingleAbstractHeaderAxisConfiguration.xwt">
+ <widget href="ui/SingleAbstractHeaderAxisConfiguration.xwt#/"/>
+ </sections>
+ <sections name="Multiple AbstractHeaderAxisConfiguration" sectionFile="ui/MultipleAbstractHeaderAxisConfiguration.xwt">
+ <widget href="ui/MultipleAbstractHeaderAxisConfiguration.xwt#/"/>
+ </sections>
+ <sections name="Single AxisManagerRepresentation" sectionFile="ui/SingleAxisManagerRepresentation.xwt">
+ <widget href="ui/SingleAxisManagerRepresentation.xwt#/"/>
+ </sections>
+ <sections name="Multiple AxisManagerRepresentation" sectionFile="ui/MultipleAxisManagerRepresentation.xwt">
+ <widget href="ui/MultipleAxisManagerRepresentation.xwt#/"/>
+ </sections>
+ <sections name="Single AxisManagerConfiguration" sectionFile="ui/SingleAxisManagerConfiguration.xwt">
+ <widget href="ui/SingleAxisManagerConfiguration.xwt#/"/>
+ </sections>
+ <sections name="Multiple AxisManagerConfiguration" sectionFile="ui/MultipleAxisManagerConfiguration.xwt">
+ <widget href="ui/MultipleAxisManagerConfiguration.xwt#/"/>
+ </sections>
+ <sections name="Single TableHeaderAxisConfiguration" sectionFile="ui/SingleTableHeaderAxisConfiguration.xwt">
+ <widget href="ui/SingleTableHeaderAxisConfiguration.xwt#/"/>
+ </sections>
+ <sections name="Multiple TableHeaderAxisConfiguration" sectionFile="ui/MultipleTableHeaderAxisConfiguration.xwt">
+ <widget href="ui/MultipleTableHeaderAxisConfiguration.xwt#/"/>
+ </sections>
+ <sections name="Single LocalTableHeaderAxisConfiguration" sectionFile="ui/SingleLocalTableHeaderAxisConfiguration.xwt">
+ <widget href="ui/SingleLocalTableHeaderAxisConfiguration.xwt#/"/>
+ </sections>
+ <sections name="Multiple LocalTableHeaderAxisConfiguration" sectionFile="ui/MultipleLocalTableHeaderAxisConfiguration.xwt">
+ <widget href="ui/MultipleLocalTableHeaderAxisConfiguration.xwt#/"/>
+ </sections>
+ <sections name="Single IAxisConfiguration" sectionFile="ui/SingleIAxisConfiguration.xwt">
+ <widget href="ui/SingleIAxisConfiguration.xwt#/"/>
+ </sections>
+ <sections name="Multiple IAxisConfiguration" sectionFile="ui/MultipleIAxisConfiguration.xwt">
+ <widget href="ui/MultipleIAxisConfiguration.xwt#/"/>
+ </sections>
+ <sections name="Single FeatureAxisConfiguration" sectionFile="ui/SingleFeatureAxisConfiguration.xwt">
+ <widget href="ui/SingleFeatureAxisConfiguration.xwt#/"/>
+ </sections>
+ <sections name="Multiple FeatureAxisConfiguration" sectionFile="ui/MultipleFeatureAxisConfiguration.xwt">
+ <widget href="ui/MultipleFeatureAxisConfiguration.xwt#/"/>
+ </sections>
+ <sections name="Single IFillingConfiguration" sectionFile="ui/SingleIFillingConfiguration.xwt">
+ <widget href="ui/SingleIFillingConfiguration.xwt#/"/>
+ </sections>
+ <sections name="Multiple IFillingConfiguration" sectionFile="ui/MultipleIFillingConfiguration.xwt">
+ <widget href="ui/MultipleIFillingConfiguration.xwt#/"/>
+ </sections>
+ <sections name="Single EStructuralFeatureValueFillingConfiguration" sectionFile="ui/SingleEStructuralFeatureValueFillingConfiguration.xwt">
+ <widget href="ui/SingleEStructuralFeatureValueFillingConfiguration.xwt#/"/>
+ </sections>
+ <sections name="Multiple EStructuralFeatureValueFillingConfiguration" sectionFile="ui/MultipleEStructuralFeatureValueFillingConfiguration.xwt">
+ <widget href="ui/MultipleEStructuralFeatureValueFillingConfiguration.xwt#/"/>
+ </sections>
+ <sections name="Single IPasteConfiguration" sectionFile="ui/SingleIPasteConfiguration.xwt">
+ <widget href="ui/SingleIPasteConfiguration.xwt#/"/>
+ </sections>
+ <sections name="Multiple IPasteConfiguration" sectionFile="ui/MultipleIPasteConfiguration.xwt">
+ <widget href="ui/MultipleIPasteConfiguration.xwt#/"/>
+ </sections>
+ <sections name="Single PasteEObjectConfiguration" sectionFile="ui/SinglePasteEObjectConfiguration.xwt">
+ <widget href="ui/SinglePasteEObjectConfiguration.xwt#/"/>
+ </sections>
+ <sections name="Multiple PasteEObjectConfiguration" sectionFile="ui/MultiplePasteEObjectConfiguration.xwt">
+ <widget href="ui/MultiplePasteEObjectConfiguration.xwt#/"/>
+ </sections>
+ <sections name="Single AbstractTableTester" sectionFile="ui/SingleAbstractTableTester.xwt">
+ <widget href="ui/SingleAbstractTableTester.xwt#/"/>
+ </sections>
+ <sections name="Multiple AbstractTableTester" sectionFile="ui/MultipleAbstractTableTester.xwt">
+ <widget href="ui/MultipleAbstractTableTester.xwt#/"/>
+ </sections>
+ <sections name="Single JavaTableTester" sectionFile="ui/SingleJavaTableTester.xwt">
+ <widget href="ui/SingleJavaTableTester.xwt#/"/>
+ </sections>
+ <sections name="Multiple JavaTableTester" sectionFile="ui/MultipleJavaTableTester.xwt">
+ <widget href="ui/MultipleJavaTableTester.xwt#/"/>
+ </sections>
+ <sections name="Single IAxis" sectionFile="ui/SingleIAxis.xwt">
+ <widget href="ui/SingleIAxis.xwt#/"/>
+ </sections>
+ <sections name="Multiple IAxis" sectionFile="ui/MultipleIAxis.xwt">
+ <widget href="ui/MultipleIAxis.xwt#/"/>
+ </sections>
+ <sections name="Single IdAxis" sectionFile="ui/SingleIdAxis.xwt">
+ <widget href="ui/SingleIdAxis.xwt#/"/>
+ </sections>
+ <sections name="Multiple IdAxis" sectionFile="ui/MultipleIdAxis.xwt">
+ <widget href="ui/MultipleIdAxis.xwt#/"/>
+ </sections>
+ <sections name="Single ObjectAxis" sectionFile="ui/SingleObjectAxis.xwt">
+ <widget href="ui/SingleObjectAxis.xwt#/"/>
+ </sections>
+ <sections name="Multiple ObjectAxis" sectionFile="ui/MultipleObjectAxis.xwt">
+ <widget href="ui/MultipleObjectAxis.xwt#/"/>
+ </sections>
+ <sections name="Single EObjectAxis" sectionFile="ui/SingleEObjectAxis.xwt">
+ <widget href="ui/SingleEObjectAxis.xwt#/"/>
+ </sections>
+ <sections name="Multiple EObjectAxis" sectionFile="ui/MultipleEObjectAxis.xwt">
+ <widget href="ui/MultipleEObjectAxis.xwt#/"/>
+ </sections>
+ <sections name="Single FeatureAxis" sectionFile="ui/SingleFeatureAxis.xwt">
+ <widget href="ui/SingleFeatureAxis.xwt#/"/>
+ </sections>
+ <sections name="Multiple FeatureAxis" sectionFile="ui/MultipleFeatureAxis.xwt">
+ <widget href="ui/MultipleFeatureAxis.xwt#/"/>
+ </sections>
+ <sections name="Single FeatureIdAxis" sectionFile="ui/SingleFeatureIdAxis.xwt">
+ <widget href="ui/SingleFeatureIdAxis.xwt#/"/>
+ </sections>
+ <sections name="Multiple FeatureIdAxis" sectionFile="ui/MultipleFeatureIdAxis.xwt">
+ <widget href="ui/MultipleFeatureIdAxis.xwt#/"/>
+ </sections>
+ <sections name="Single EStructuralFeatureAxis" sectionFile="ui/SingleEStructuralFeatureAxis.xwt">
+ <widget href="ui/SingleEStructuralFeatureAxis.xwt#/"/>
+ </sections>
+ <sections name="Multiple EStructuralFeatureAxis" sectionFile="ui/MultipleEStructuralFeatureAxis.xwt">
+ <widget href="ui/MultipleEStructuralFeatureAxis.xwt#/"/>
+ </sections>
+ <sections name="Single ObjectIdAxis" sectionFile="ui/SingleObjectIdAxis.xwt">
+ <widget href="ui/SingleObjectIdAxis.xwt#/"/>
+ </sections>
+ <sections name="Multiple ObjectIdAxis" sectionFile="ui/MultipleObjectIdAxis.xwt">
+ <widget href="ui/MultipleObjectIdAxis.xwt#/"/>
</sections>
</tabs>
- <tabs label="Appearance"
- id="TableAppearance"
- category="default"
- afterTab="/0/@tabs.0">
- <sections
- name="SingleTableAppearance"
- sectionFile="ui/SingleTableAppearance.xwt">
- <widget
- href="ui/SingleTableAppearance.xwt#/"/>
- </sections>
- <sections
- name="ColumnFeatureLabelProviderConfiguration"
- sectionFile="ui/ColumnFeatureLabelProviderConfiguration.xwt">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="hasColumnFeatureLabelConfigurationConstraint"
- overrideable="false">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.4"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="org.eclipse.papyrus.infra.nattable.properties.constraints.HasColumnFeatureLabelConfigurationConstraint"/>
+ <tabs label="Appearance" id="TableAppearance" category="default" afterTab="/0/@tabs.0">
+ <sections name="SingleTableAppearance" sectionFile="ui/SingleTableAppearance.xwt">
+ <widget href="ui/SingleTableAppearance.xwt#/"/>
+ </sections>
+ <sections name="ColumnFeatureLabelProviderConfiguration" sectionFile="ui/ColumnFeatureLabelProviderConfiguration.xwt">
+ <constraints xsi:type="constraints:SimpleConstraint" name="hasColumnFeatureLabelConfigurationConstraint" overrideable="false">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.4"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="org.eclipse.papyrus.infra.nattable.properties.constraints.HasColumnFeatureLabelConfigurationConstraint"/>
</constraints>
- <widget
- href="ui/ColumnFeatureLabelProviderConfiguration.xwt#/"/>
- </sections>
- <sections
- name="ColumnObjectLabelProviderConfiguration"
- sectionFile="ui/ColumnObjectLabelProviderConfiguration.xwt">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="hasColumnObjectLabelConfigurationConstraint"
- overrideable="false">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.4"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="org.eclipse.papyrus.infra.nattable.properties.constraints.HasColumnObjectLabelConfigurationConstraint"/>
+ <widget href="ui/ColumnFeatureLabelProviderConfiguration.xwt#/"/>
+ </sections>
+ <sections name="ColumnObjectLabelProviderConfiguration" sectionFile="ui/ColumnObjectLabelProviderConfiguration.xwt">
+ <constraints xsi:type="constraints:SimpleConstraint" name="hasColumnObjectLabelConfigurationConstraint" overrideable="false">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.4"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="org.eclipse.papyrus.infra.nattable.properties.constraints.HasColumnObjectLabelConfigurationConstraint"/>
</constraints>
- <widget
- href="ui/ColumnObjectLabelProviderConfiguration.xwt#/"/>
- </sections>
- <sections
- name="RowFeatureLabelProviderConfiguration"
- sectionFile="ui/RowFeatureLabelProviderConfiguration.xwt">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="hasRowFeatureLabelConfigurationConstraint"
- overrideable="false">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.4"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="org.eclipse.papyrus.infra.nattable.properties.constraints.HasRowFeatureLabelConfigurationConstraint"/>
+ <widget href="ui/ColumnObjectLabelProviderConfiguration.xwt#/"/>
+ </sections>
+ <sections name="RowFeatureLabelProviderConfiguration" sectionFile="ui/RowFeatureLabelProviderConfiguration.xwt">
+ <constraints xsi:type="constraints:SimpleConstraint" name="hasRowFeatureLabelConfigurationConstraint" overrideable="false">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.4"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="org.eclipse.papyrus.infra.nattable.properties.constraints.HasRowFeatureLabelConfigurationConstraint"/>
</constraints>
- <widget
- href="ui/RowFeatureLabelProviderConfiguration.xwt#/"/>
- </sections>
- <sections
- name="RowObjectLabelProviderConfiguration"
- sectionFile="ui/RowObjectLabelProviderConfiguration.xwt">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="hasRowObjectLabelConfigurationConstraint"
- overrideable="false">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.4"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="org.eclipse.papyrus.infra.nattable.properties.constraints.HasRowObjectLabelConfigurationConstraint"/>
+ <widget href="ui/RowFeatureLabelProviderConfiguration.xwt#/"/>
+ </sections>
+ <sections name="RowObjectLabelProviderConfiguration" sectionFile="ui/RowObjectLabelProviderConfiguration.xwt">
+ <constraints xsi:type="constraints:SimpleConstraint" name="hasRowObjectLabelConfigurationConstraint" overrideable="false">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.4"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="org.eclipse.papyrus.infra.nattable.properties.constraints.HasRowObjectLabelConfigurationConstraint"/>
</constraints>
- <widget
- href="ui/RowObjectLabelProviderConfiguration.xwt#/"/>
+ <widget href="ui/RowObjectLabelProviderConfiguration.xwt#/"/>
</sections>
</tabs>
- <tabs label="Paste"
- id="Paste In Table"
- category="default"
- afterTab="/0/@tabs.1">
- <sections
- name="CanPasteEObjectColumnSection"
- sectionFile="ui/CanPasteEObjectColumnSection.xwt">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="canPasteColumnEObjectConstraint">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.4"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="org.eclipse.papyrus.infra.nattable.properties.constraints.CanCreateColumnElementContraint"/>
+ <tabs label="Paste" id="Paste In Table" category="default" afterTab="/0/@tabs.1">
+ <sections name="CanPasteEObjectColumnSection" sectionFile="ui/CanPasteEObjectColumnSection.xwt">
+ <constraints xsi:type="constraints:SimpleConstraint" name="canPasteColumnEObjectConstraint">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.4"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="org.eclipse.papyrus.infra.nattable.properties.constraints.CanCreateColumnElementContraint"/>
</constraints>
- <widget
- href="ui/CanPasteEObjectColumnSection.xwt#/"/>
- </sections>
- <sections
- name="CantPasteEObjectColumnSection"
- sectionFile="ui/CantPasteEObjectColumnSection.xwt">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="cantPasteColumnEObjectConstraint">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.4"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="org.eclipse.papyrus.infra.nattable.properties.constraints.CantCreateColumnElementContraint"/>
+ <widget href="ui/CanPasteEObjectColumnSection.xwt#/"/>
+ </sections>
+ <sections name="CantPasteEObjectColumnSection" sectionFile="ui/CantPasteEObjectColumnSection.xwt">
+ <constraints xsi:type="constraints:SimpleConstraint" name="cantPasteColumnEObjectConstraint">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.4"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="org.eclipse.papyrus.infra.nattable.properties.constraints.CantCreateColumnElementContraint"/>
</constraints>
- <widget
- href="ui/CantPasteEObjectColumnSection.xwt#/"/>
- </sections>
- <sections
- name="CanPasteEObjectRowSection"
- sectionFile="ui/CanPasteEObjectRowSection.xwt">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="canPasteEObjectRowConstraint">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.4"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="org.eclipse.papyrus.infra.nattable.properties.constraints.CanCreateRowElementContraint"/>
+ <widget href="ui/CantPasteEObjectColumnSection.xwt#/"/>
+ </sections>
+ <sections name="CanPasteEObjectRowSection" sectionFile="ui/CanPasteEObjectRowSection.xwt">
+ <constraints xsi:type="constraints:SimpleConstraint" name="canPasteEObjectRowConstraint">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.4"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="org.eclipse.papyrus.infra.nattable.properties.constraints.CanCreateRowElementContraint"/>
</constraints>
- <widget
- href="ui/CanPasteEObjectRowSection.xwt#/"/>
- </sections>
- <sections
- name="CantPasteEObjectRowSection"
- sectionFile="ui/CantPasteEObjectRowSection.xwt">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="cantPasteEObjectRowConstraint">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.4"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="org.eclipse.papyrus.infra.nattable.properties.constraints.CantCreateRowElementContraint"/>
+ <widget href="ui/CanPasteEObjectRowSection.xwt#/"/>
+ </sections>
+ <sections name="CantPasteEObjectRowSection" sectionFile="ui/CantPasteEObjectRowSection.xwt">
+ <constraints xsi:type="constraints:SimpleConstraint" name="cantPasteEObjectRowConstraint">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.4"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="org.eclipse.papyrus.infra.nattable.properties.constraints.CantCreateRowElementContraint"/>
</constraints>
- <widget
- href="ui/CantPasteEObjectRowSection.xwt#/"/>
+ <widget href="ui/CantPasteEObjectRowSection.xwt#/"/>
</sections>
</tabs>
- <views name="Single Table"
- sections="/0/@tabs.0/@sections.0"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.0">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isSingleTable">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="Table"/>
- </constraints>
- </views>
- <views elementMultiplicity="-1"
- name="Multiple Table"
- sections="/0/@tabs.0/@sections.1"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.0">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isMultipleTable">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="Table"/>
- </constraints>
- </views>
- <views name="Single TableConfiguration"
- sections="/0/@tabs.0/@sections.2"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.1/@elements.1">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isSingleTableConfiguration">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="TableConfiguration"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration"/>
- </constraints>
- </views>
- <views elementMultiplicity="-1"
- name="Multiple TableConfiguration"
- sections="/0/@tabs.0/@sections.3"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.1/@elements.1">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isMultipleTableConfiguration">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="TableConfiguration"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration"/>
- </constraints>
- </views>
- <views name="Single AbstractAxisProvider"
- sections="/0/@tabs.0/@sections.4"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.2/@elements.0">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isSingleAbstractAxisProvider">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="AbstractAxisProvider"/>
- </constraints>
- </views>
- <views elementMultiplicity="-1"
- name="Multiple AbstractAxisProvider"
- sections="/0/@tabs.0/@sections.5"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.2/@elements.0">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isMultipleAbstractAxisProvider">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="AbstractAxisProvider"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider"/>
- </constraints>
- </views>
- <views name="Single AxisProvider"
- sections="/0/@tabs.0/@sections.6"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.2/@elements.3">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isSingleAxisProvider">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="AxisProvider"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider"/>
- </constraints>
- </views>
- <views elementMultiplicity="-1"
- name="Multiple AxisProvider"
- sections="/0/@tabs.0/@sections.7"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.2/@elements.3">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isMultipleAxisProvider">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="AxisProvider"/>
- </constraints>
- </views>
- <views name="Single IMasterAxisProvider"
- sections="/0/@tabs.0/@sections.8"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.2/@elements.1">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isSingleIMasterAxisProvider">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="IMasterAxisProvider"/>
- </constraints>
- </views>
- <views elementMultiplicity="-1"
- name="Multiple IMasterAxisProvider"
- sections="/0/@tabs.0/@sections.9"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.2/@elements.1">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isMultipleIMasterAxisProvider">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="IMasterAxisProvider"/>
- </constraints>
- </views>
- <views name="Single ISlaveAxisProvider"
- sections="/0/@tabs.0/@sections.10"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.2/@elements.2">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isSingleISlaveAxisProvider">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="ISlaveAxisProvider"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider"/>
- </constraints>
- </views>
- <views elementMultiplicity="-1"
- name="Multiple ISlaveAxisProvider"
- sections="/0/@tabs.0/@sections.11"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.2/@elements.2">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isMultipleISlaveAxisProvider">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="ISlaveAxisProvider"/>
- </constraints>
- </views>
- <views name="Single SlaveObjectAxisProvider"
- sections="/0/@tabs.0/@sections.12"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.2/@elements.4">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isSingleSlaveObjectAxisProvider">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="SlaveObjectAxisProvider"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider"/>
- </constraints>
- </views>
- <views elementMultiplicity="-1"
- name="Multiple SlaveObjectAxisProvider"
- sections="/0/@tabs.0/@sections.13"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.2/@elements.4">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isMultipleSlaveObjectAxisProvider">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="SlaveObjectAxisProvider"/>
- </constraints>
- </views>
- <views name="Single MasterObjectAxisProvider"
- sections="/0/@tabs.0/@sections.14"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.2/@elements.5">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isSingleMasterObjectAxisProvider">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="MasterObjectAxisProvider"/>
- </constraints>
- </views>
- <views elementMultiplicity="-1"
- name="Multiple MasterObjectAxisProvider"
- sections="/0/@tabs.0/@sections.15"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.2/@elements.5">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isMultipleMasterObjectAxisProvider">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="MasterObjectAxisProvider"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider"/>
- </constraints>
- </views>
- <views name="Single ILabelProviderConfiguration"
- sections="/0/@tabs.0/@sections.16"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.3/@elements.0">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isSingleILabelProviderConfiguration">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="ILabelProviderConfiguration"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider"/>
- </constraints>
- </views>
- <views elementMultiplicity="-1"
- name="Multiple ILabelProviderConfiguration"
- sections="/0/@tabs.0/@sections.17"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.3/@elements.0">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isMultipleILabelProviderConfiguration">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="ILabelProviderConfiguration"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider"/>
- </constraints>
- </views>
- <views name="Single ObjectLabelProviderConfiguration"
- sections="/0/@tabs.0/@sections.18"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.3/@elements.2">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isSingleObjectLabelProviderConfiguration">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="ObjectLabelProviderConfiguration"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider"/>
- </constraints>
- </views>
- <views elementMultiplicity="-1"
- name="Multiple ObjectLabelProviderConfiguration"
- sections="/0/@tabs.0/@sections.19"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.3/@elements.2">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isMultipleObjectLabelProviderConfiguration">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="ObjectLabelProviderConfiguration"/>
- </constraints>
- </views>
- <views name="Single FeatureLabelProviderConfiguration"
- sections="/0/@tabs.0/@sections.20"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.3/@elements.1">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isSingleFeatureLabelProviderConfiguration">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="FeatureLabelProviderConfiguration"/>
- </constraints>
- </views>
- <views elementMultiplicity="-1"
- name="Multiple FeatureLabelProviderConfiguration"
- sections="/0/@tabs.0/@sections.21"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.3/@elements.1">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isMultipleFeatureLabelProviderConfiguration">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="FeatureLabelProviderConfiguration"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider"/>
- </constraints>
- </views>
- <views name="Single AbstractHeaderAxisConfiguration"
- sections="/0/@tabs.0/@sections.22"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.4/@elements.0">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isSingleAbstractHeaderAxisConfiguration">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="AbstractHeaderAxisConfiguration"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
- </constraints>
- </views>
- <views elementMultiplicity="-1"
- name="Multiple AbstractHeaderAxisConfiguration"
- sections="/0/@tabs.0/@sections.23"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.4/@elements.0">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isMultipleAbstractHeaderAxisConfiguration">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="AbstractHeaderAxisConfiguration"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
- </constraints>
- </views>
- <views name="Single AxisManagerRepresentation"
- sections="/0/@tabs.0/@sections.24"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.4/@elements.1">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isSingleAxisManagerRepresentation">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="AxisManagerRepresentation"/>
- </constraints>
- </views>
- <views elementMultiplicity="-1"
- name="Multiple AxisManagerRepresentation"
- sections="/0/@tabs.0/@sections.25"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.4/@elements.1">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isMultipleAxisManagerRepresentation">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="AxisManagerRepresentation"/>
- </constraints>
- </views>
- <views name="Single AxisManagerConfiguration"
- sections="/0/@tabs.0/@sections.26"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.4/@elements.2">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isSingleAxisManagerConfiguration">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="AxisManagerConfiguration"/>
- </constraints>
- </views>
- <views elementMultiplicity="-1"
- name="Multiple AxisManagerConfiguration"
- sections="/0/@tabs.0/@sections.27"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.4/@elements.2">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isMultipleAxisManagerConfiguration">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="AxisManagerConfiguration"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
- </constraints>
- </views>
- <views name="Single TableHeaderAxisConfiguration"
- sections="/0/@tabs.0/@sections.28"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.4/@elements.3">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isSingleTableHeaderAxisConfiguration">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="TableHeaderAxisConfiguration"/>
- </constraints>
- </views>
- <views elementMultiplicity="-1"
- name="Multiple TableHeaderAxisConfiguration"
- sections="/0/@tabs.0/@sections.29"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.4/@elements.3">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isMultipleTableHeaderAxisConfiguration">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="TableHeaderAxisConfiguration"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
- </constraints>
- </views>
- <views name="Single LocalTableHeaderAxisConfiguration"
- sections="/0/@tabs.0/@sections.30"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.4/@elements.4">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isSingleLocalTableHeaderAxisConfiguration">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="LocalTableHeaderAxisConfiguration"/>
- </constraints>
- </views>
- <views elementMultiplicity="-1"
- name="Multiple LocalTableHeaderAxisConfiguration"
- sections="/0/@tabs.0/@sections.31"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.4/@elements.4">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isMultipleLocalTableHeaderAxisConfiguration">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="LocalTableHeaderAxisConfiguration"/>
- </constraints>
- </views>
- <views name="Single IAxisConfiguration"
- sections="/0/@tabs.0/@sections.32"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.4/@elements.5">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isSingleIAxisConfiguration">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="IAxisConfiguration"/>
- </constraints>
- </views>
- <views elementMultiplicity="-1"
- name="Multiple IAxisConfiguration"
- sections="/0/@tabs.0/@sections.33"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.4/@elements.5">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isMultipleIAxisConfiguration">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="IAxisConfiguration"/>
- </constraints>
- </views>
- <views name="Single FeatureAxisConfiguration"
- sections="/0/@tabs.0/@sections.34"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.4/@elements.6">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isSingleFeatureAxisConfiguration">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="FeatureAxisConfiguration"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
- </constraints>
- </views>
- <views elementMultiplicity="-1"
- name="Multiple FeatureAxisConfiguration"
- sections="/0/@tabs.0/@sections.35"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.4/@elements.6">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isMultipleFeatureAxisConfiguration">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="FeatureAxisConfiguration"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
- </constraints>
- </views>
- <views name="Single IFillingConfiguration"
- sections="/0/@tabs.0/@sections.36"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.4/@elements.7">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isSingleIFillingConfiguration">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="IFillingConfiguration"/>
- </constraints>
- </views>
- <views elementMultiplicity="-1"
- name="Multiple IFillingConfiguration"
- sections="/0/@tabs.0/@sections.37"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.4/@elements.7">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isMultipleIFillingConfiguration">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="IFillingConfiguration"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
- </constraints>
- </views>
- <views name="Single EStructuralFeatureValueFillingConfiguration"
- sections="/0/@tabs.0/@sections.38"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.4/@elements.8">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isSingleEStructuralFeatureValueFillingConfiguration">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="EStructuralFeatureValueFillingConfiguration"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
- </constraints>
- </views>
- <views elementMultiplicity="-1"
- name="Multiple EStructuralFeatureValueFillingConfiguration"
- sections="/0/@tabs.0/@sections.39"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.4/@elements.8">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isMultipleEStructuralFeatureValueFillingConfiguration">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="EStructuralFeatureValueFillingConfiguration"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
- </constraints>
- </views>
- <views name="Single IPasteConfiguration"
- sections="/0/@tabs.0/@sections.40"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.4/@elements.9">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isSingleIPasteConfiguration">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="IPasteConfiguration"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
- </constraints>
- </views>
- <views elementMultiplicity="-1"
- name="Multiple IPasteConfiguration"
- sections="/0/@tabs.0/@sections.41"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.4/@elements.9">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isMultipleIPasteConfiguration">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="IPasteConfiguration"/>
- </constraints>
- </views>
- <views name="Single PasteEObjectConfiguration"
- sections="/0/@tabs.0/@sections.42"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.4/@elements.10">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isSinglePasteEObjectConfiguration">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="PasteEObjectConfiguration"/>
- </constraints>
- </views>
- <views elementMultiplicity="-1"
- name="Multiple PasteEObjectConfiguration"
- sections="/0/@tabs.0/@sections.43"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.4/@elements.10">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isMultiplePasteEObjectConfiguration">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="PasteEObjectConfiguration"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
- </constraints>
- </views>
- <views name="Single AbstractTableTester"
- sections="/0/@tabs.0/@sections.44"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.5/@elements.0">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isSingleAbstractTableTester">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattabletester"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="AbstractTableTester"/>
- </constraints>
- </views>
- <views elementMultiplicity="-1"
- name="Multiple AbstractTableTester"
- sections="/0/@tabs.0/@sections.45"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.5/@elements.0">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isMultipleAbstractTableTester">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="AbstractTableTester"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattabletester"/>
- </constraints>
- </views>
- <views name="Single JavaTableTester"
- sections="/0/@tabs.0/@sections.46"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.5/@elements.1">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isSingleJavaTableTester">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="JavaTableTester"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattabletester"/>
- </constraints>
- </views>
- <views elementMultiplicity="-1"
- name="Multiple JavaTableTester"
- sections="/0/@tabs.0/@sections.47"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.5/@elements.1">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isMultipleJavaTableTester">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattabletester"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="JavaTableTester"/>
- </constraints>
- </views>
- <views name="Single IAxis"
- sections="/0/@tabs.0/@sections.48"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.6/@elements.0">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isSingleIAxis">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="IAxis"/>
- </constraints>
- </views>
- <views elementMultiplicity="-1"
- name="Multiple IAxis"
- sections="/0/@tabs.0/@sections.49"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.6/@elements.0">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isMultipleIAxis">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="IAxis"/>
- </constraints>
- </views>
- <views name="Single IdAxis"
- sections="/0/@tabs.0/@sections.50"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.6/@elements.1">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isSingleIdAxis">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="IdAxis"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis"/>
- </constraints>
- </views>
- <views elementMultiplicity="-1"
- name="Multiple IdAxis"
- sections="/0/@tabs.0/@sections.51"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.6/@elements.1">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isMultipleIdAxis">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="IdAxis"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis"/>
- </constraints>
- </views>
- <views name="Single ObjectAxis"
- sections="/0/@tabs.0/@sections.52"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.6/@elements.4">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isSingleObjectAxis">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="ObjectAxis"/>
- </constraints>
- </views>
- <views elementMultiplicity="-1"
- name="Multiple ObjectAxis"
- sections="/0/@tabs.0/@sections.53"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.6/@elements.4">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isMultipleObjectAxis">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="ObjectAxis"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis"/>
- </constraints>
- </views>
- <views name="Single EObjectAxis"
- sections="/0/@tabs.0/@sections.54"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.6/@elements.2">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isSingleEObjectAxis">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="EObjectAxis"/>
- </constraints>
- </views>
- <views elementMultiplicity="-1"
- name="Multiple EObjectAxis"
- sections="/0/@tabs.0/@sections.55"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.6/@elements.2">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isMultipleEObjectAxis">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="EObjectAxis"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis"/>
- </constraints>
- </views>
- <views name="Single FeatureAxis"
- sections="/0/@tabs.0/@sections.56"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.6/@elements.3">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isSingleFeatureAxis">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="FeatureAxis"/>
- </constraints>
- </views>
- <views elementMultiplicity="-1"
- name="Multiple FeatureAxis"
- sections="/0/@tabs.0/@sections.57"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.6/@elements.3">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isMultipleFeatureAxis">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="FeatureAxis"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis"/>
- </constraints>
- </views>
- <views name="Single FeatureIdAxis"
- sections="/0/@tabs.0/@sections.58"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.6/@elements.5">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isSingleFeatureIdAxis">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="FeatureIdAxis"/>
- </constraints>
- </views>
- <views elementMultiplicity="-1"
- name="Multiple FeatureIdAxis"
- sections="/0/@tabs.0/@sections.59"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.6/@elements.5">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isMultipleFeatureIdAxis">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="FeatureIdAxis"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis"/>
- </constraints>
- </views>
- <views name="Single EStructuralFeatureAxis"
- sections="/0/@tabs.0/@sections.60"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.6/@elements.6">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isSingleEStructuralFeatureAxis">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="EStructuralFeatureAxis"/>
- </constraints>
- </views>
- <views elementMultiplicity="-1"
- name="Multiple EStructuralFeatureAxis"
- sections="/0/@tabs.0/@sections.61"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.6/@elements.6">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isMultipleEStructuralFeatureAxis">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="EStructuralFeatureAxis"/>
- </constraints>
- </views>
- <views name="Single ObjectIdAxis"
- sections="/0/@tabs.0/@sections.62"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.6/@elements.7">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isSingleObjectIdAxis">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="ObjectIdAxis"/>
- </constraints>
- </views>
- <views elementMultiplicity="-1"
- name="Multiple ObjectIdAxis"
- sections="/0/@tabs.0/@sections.63"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.6/@elements.7">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isMultipleObjectIdAxis">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="ObjectIdAxis"/>
- </constraints>
- </views>
- <views name="SingleTableAppearance"
- sections="/0/@tabs.1/@sections.0 /0/@tabs.1/@sections.1 /0/@tabs.1/@sections.2 /0/@tabs.1/@sections.3 /0/@tabs.1/@sections.4">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="singleTable">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="Table"/>
- </constraints>
- </views>
- <views name="SinglePasteInTable"
- sections="/0/@tabs.2/@sections.0 /0/@tabs.2/@sections.1 /0/@tabs.2/@sections.2 /0/@tabs.2/@sections.3">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="singleTable">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="Table"/>
- </constraints>
- </views>
- <dataContexts
- name="nattable"
- label="nattable">
- <elements
- name="Table"
- supertypes="/0/@dataContexts.0/@elements.1/@elements.0">
- <properties
- name="context"
- type="Reference"/>
- <properties
- name="tableConfiguration"
- type="Reference"/>
- <properties
- name="invertAxis"/>
- <properties
- name="columnAxisProvidersHistory"
- type="Reference"
- multiplicity="-1"/>
- <properties
- name="rowAxisProvidersHistory"
- type="Reference"
- multiplicity="-1"/>
- <properties
- name="localRowHeaderAxisConfiguration"
- type="Reference"/>
- <properties
- name="localColumnHeaderAxisConfiguration"
- type="Reference"/>
- <properties
- name="currentRowAxisProvider"
- type="Reference"/>
- <properties
- name="currentColumnAxisProvider"
- type="Reference"/>
- <properties
- name="columnFeatureLabelProviderConfigurationDisplayIcon"
- label="Display Column FeatureIcon"
- type="Boolean"
- description="Display Column Icon"/>
- <properties
- name="columnFeatureLabelProviderConfigurationDisplayLabel"
- label="Display Column Feature Label"
- type="Boolean"
- description="Display Column Label"/>
- <properties
- name="columnFeatureLabelProviderConfigurationDisplayIsDerived"
- label="Display Column Feature IsDerived"
- type="Boolean"
- description="Display Column Feature IsDerived"/>
- <properties
- name="columnFeatureLabelProviderConfigurationDisplayType"
- label="Display Column Feature Type"
- type="Boolean"
- description="Display Column Feature Type"/>
- <properties
- name="columnFeatureLabelProviderConfigurationDisplayMultiplicity"
- label="Display Column Feature Multiplicity"
- type="Boolean"
- description="Display Column Feature Multiplicity"/>
- <properties
- name="columnFeatureLabelProviderConfigurationDisplayName"
- label="Display Column Feature Name"
- type="Boolean"
- description="Display Column Feature Name"/>
- <properties
- name="columnObjectLabelProviderConfigurationDisplayIcon"
- label="Display Column Object Icon"
- type="Boolean"
- description="Display Column Object Icon"/>
- <properties
- name="columnObjectLabelProviderConfigurationDisplayLabel"
- label="Display Column Object Label"
- type="Boolean"
- description="Display Column Object Label"/>
- <properties
- name="rowFeatureLabelProviderConfigurationDisplayIcon"
- label="Display Row FeatureIcon"
- type="Boolean"
- description="Display Row Icon"/>
- <properties
- name="rowFeatureLabelProviderConfigurationDisplayLabel"
- label="Display Row Feature Label"
- type="Boolean"
- description="Display Row Label"/>
- <properties
- name="rowFeatureLabelProviderConfigurationDisplayIsDerived"
- label="Display Row Feature IsDerived"
- type="Boolean"
- description="Display Row Feature IsDerived"/>
- <properties
- name="rowFeatureLabelProviderConfigurationDisplayType"
- label="Display Row Feature Type"
- type="Boolean"
- description="Display Row Feature Type"/>
- <properties
- name="rowFeatureLabelProviderConfigurationDisplayMultiplicity"
- label="Display Row Feature Multiplicity"
- type="Boolean"
- description="Display Row Feature Multiplicity"/>
- <properties
- name="rowFeatureLabelProviderConfigurationDisplayName"
- label="Display Row Feature Name"
- type="Boolean"
- description="Display Row Feature Name"/>
- <properties
- name="rowObjectLabelProviderConfigurationDisplayIcon"
- label="Display Row Object Icon"
- type="Boolean"
- description="Display Row Object Icon"/>
- <properties
- name="rowObjectLabelProviderConfigurationDisplayLabel"
- label="Display Row Object Label"
- type="Boolean"
- description="Display Row Object Label"/>
- <properties
- name="rowPastedEObjectId"
- label="Row Pasted Element Type Id"
- description="Row Pasted Element Type Id"/>
- <properties
- name="rowPastedEObjectContainmentFeature"
- label="Row Pasted EObject Contaiment Feature"/>
+ <views name="Single Table" sections="/0/@tabs.0/@sections.0" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.0">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isSingleTable">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="Table"/>
+ </constraints>
+ </views>
+ <views elementMultiplicity="-1" name="Multiple Table" sections="/0/@tabs.0/@sections.1" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.0">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isMultipleTable">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="Table"/>
+ </constraints>
+ </views>
+ <views name="Single TableConfiguration" sections="/0/@tabs.0/@sections.2" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.1/@elements.1">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isSingleTableConfiguration">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="TableConfiguration"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration"/>
+ </constraints>
+ </views>
+ <views elementMultiplicity="-1" name="Multiple TableConfiguration" sections="/0/@tabs.0/@sections.3" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.1/@elements.1">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isMultipleTableConfiguration">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="TableConfiguration"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration"/>
+ </constraints>
+ </views>
+ <views name="Single AbstractAxisProvider" sections="/0/@tabs.0/@sections.4" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.2/@elements.0">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isSingleAbstractAxisProvider">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="AbstractAxisProvider"/>
+ </constraints>
+ </views>
+ <views elementMultiplicity="-1" name="Multiple AbstractAxisProvider" sections="/0/@tabs.0/@sections.5" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.2/@elements.0">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isMultipleAbstractAxisProvider">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="AbstractAxisProvider"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider"/>
+ </constraints>
+ </views>
+ <views name="Single AxisProvider" sections="/0/@tabs.0/@sections.6" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.2/@elements.3">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isSingleAxisProvider">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="AxisProvider"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider"/>
+ </constraints>
+ </views>
+ <views elementMultiplicity="-1" name="Multiple AxisProvider" sections="/0/@tabs.0/@sections.7" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.2/@elements.3">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isMultipleAxisProvider">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="AxisProvider"/>
+ </constraints>
+ </views>
+ <views name="Single IMasterAxisProvider" sections="/0/@tabs.0/@sections.8" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.2/@elements.1">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isSingleIMasterAxisProvider">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="IMasterAxisProvider"/>
+ </constraints>
+ </views>
+ <views elementMultiplicity="-1" name="Multiple IMasterAxisProvider" sections="/0/@tabs.0/@sections.9" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.2/@elements.1">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isMultipleIMasterAxisProvider">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="IMasterAxisProvider"/>
+ </constraints>
+ </views>
+ <views name="Single ISlaveAxisProvider" sections="/0/@tabs.0/@sections.10" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.2/@elements.2">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isSingleISlaveAxisProvider">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="ISlaveAxisProvider"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider"/>
+ </constraints>
+ </views>
+ <views elementMultiplicity="-1" name="Multiple ISlaveAxisProvider" sections="/0/@tabs.0/@sections.11" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.2/@elements.2">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isMultipleISlaveAxisProvider">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="ISlaveAxisProvider"/>
+ </constraints>
+ </views>
+ <views name="Single SlaveObjectAxisProvider" sections="/0/@tabs.0/@sections.12" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.2/@elements.4">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isSingleSlaveObjectAxisProvider">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="SlaveObjectAxisProvider"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider"/>
+ </constraints>
+ </views>
+ <views elementMultiplicity="-1" name="Multiple SlaveObjectAxisProvider" sections="/0/@tabs.0/@sections.13" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.2/@elements.4">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isMultipleSlaveObjectAxisProvider">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="SlaveObjectAxisProvider"/>
+ </constraints>
+ </views>
+ <views name="Single MasterObjectAxisProvider" sections="/0/@tabs.0/@sections.14" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.2/@elements.5">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isSingleMasterObjectAxisProvider">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="MasterObjectAxisProvider"/>
+ </constraints>
+ </views>
+ <views elementMultiplicity="-1" name="Multiple MasterObjectAxisProvider" sections="/0/@tabs.0/@sections.15" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.2/@elements.5">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isMultipleMasterObjectAxisProvider">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="MasterObjectAxisProvider"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider"/>
+ </constraints>
+ </views>
+ <views name="Single ILabelProviderConfiguration" sections="/0/@tabs.0/@sections.16" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.3/@elements.0">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isSingleILabelProviderConfiguration">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="ILabelProviderConfiguration"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider"/>
+ </constraints>
+ </views>
+ <views elementMultiplicity="-1" name="Multiple ILabelProviderConfiguration" sections="/0/@tabs.0/@sections.17" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.3/@elements.0">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isMultipleILabelProviderConfiguration">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="ILabelProviderConfiguration"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider"/>
+ </constraints>
+ </views>
+ <views name="Single ObjectLabelProviderConfiguration" sections="/0/@tabs.0/@sections.18" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.3/@elements.2">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isSingleObjectLabelProviderConfiguration">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="ObjectLabelProviderConfiguration"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider"/>
+ </constraints>
+ </views>
+ <views elementMultiplicity="-1" name="Multiple ObjectLabelProviderConfiguration" sections="/0/@tabs.0/@sections.19" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.3/@elements.2">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isMultipleObjectLabelProviderConfiguration">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="ObjectLabelProviderConfiguration"/>
+ </constraints>
+ </views>
+ <views name="Single FeatureLabelProviderConfiguration" sections="/0/@tabs.0/@sections.20" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.3/@elements.1">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isSingleFeatureLabelProviderConfiguration">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="FeatureLabelProviderConfiguration"/>
+ </constraints>
+ </views>
+ <views elementMultiplicity="-1" name="Multiple FeatureLabelProviderConfiguration" sections="/0/@tabs.0/@sections.21" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.3/@elements.1">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isMultipleFeatureLabelProviderConfiguration">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="FeatureLabelProviderConfiguration"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider"/>
+ </constraints>
+ </views>
+ <views name="Single AbstractHeaderAxisConfiguration" sections="/0/@tabs.0/@sections.22" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.4/@elements.0">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isSingleAbstractHeaderAxisConfiguration">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="AbstractHeaderAxisConfiguration"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
+ </constraints>
+ </views>
+ <views elementMultiplicity="-1" name="Multiple AbstractHeaderAxisConfiguration" sections="/0/@tabs.0/@sections.23" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.4/@elements.0">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isMultipleAbstractHeaderAxisConfiguration">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="AbstractHeaderAxisConfiguration"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
+ </constraints>
+ </views>
+ <views name="Single AxisManagerRepresentation" sections="/0/@tabs.0/@sections.24" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.4/@elements.1">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isSingleAxisManagerRepresentation">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="AxisManagerRepresentation"/>
+ </constraints>
+ </views>
+ <views elementMultiplicity="-1" name="Multiple AxisManagerRepresentation" sections="/0/@tabs.0/@sections.25" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.4/@elements.1">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isMultipleAxisManagerRepresentation">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="AxisManagerRepresentation"/>
+ </constraints>
+ </views>
+ <views name="Single AxisManagerConfiguration" sections="/0/@tabs.0/@sections.26" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.4/@elements.2">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isSingleAxisManagerConfiguration">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="AxisManagerConfiguration"/>
+ </constraints>
+ </views>
+ <views elementMultiplicity="-1" name="Multiple AxisManagerConfiguration" sections="/0/@tabs.0/@sections.27" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.4/@elements.2">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isMultipleAxisManagerConfiguration">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="AxisManagerConfiguration"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
+ </constraints>
+ </views>
+ <views name="Single TableHeaderAxisConfiguration" sections="/0/@tabs.0/@sections.28" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.4/@elements.3">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isSingleTableHeaderAxisConfiguration">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="TableHeaderAxisConfiguration"/>
+ </constraints>
+ </views>
+ <views elementMultiplicity="-1" name="Multiple TableHeaderAxisConfiguration" sections="/0/@tabs.0/@sections.29" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.4/@elements.3">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isMultipleTableHeaderAxisConfiguration">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="TableHeaderAxisConfiguration"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
+ </constraints>
+ </views>
+ <views name="Single LocalTableHeaderAxisConfiguration" sections="/0/@tabs.0/@sections.30" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.4/@elements.4">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isSingleLocalTableHeaderAxisConfiguration">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="LocalTableHeaderAxisConfiguration"/>
+ </constraints>
+ </views>
+ <views elementMultiplicity="-1" name="Multiple LocalTableHeaderAxisConfiguration" sections="/0/@tabs.0/@sections.31" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.4/@elements.4">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isMultipleLocalTableHeaderAxisConfiguration">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="LocalTableHeaderAxisConfiguration"/>
+ </constraints>
+ </views>
+ <views name="Single IAxisConfiguration" sections="/0/@tabs.0/@sections.32" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.4/@elements.5">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isSingleIAxisConfiguration">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="IAxisConfiguration"/>
+ </constraints>
+ </views>
+ <views elementMultiplicity="-1" name="Multiple IAxisConfiguration" sections="/0/@tabs.0/@sections.33" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.4/@elements.5">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isMultipleIAxisConfiguration">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="IAxisConfiguration"/>
+ </constraints>
+ </views>
+ <views name="Single FeatureAxisConfiguration" sections="/0/@tabs.0/@sections.34" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.4/@elements.6">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isSingleFeatureAxisConfiguration">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="FeatureAxisConfiguration"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
+ </constraints>
+ </views>
+ <views elementMultiplicity="-1" name="Multiple FeatureAxisConfiguration" sections="/0/@tabs.0/@sections.35" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.4/@elements.6">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isMultipleFeatureAxisConfiguration">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="FeatureAxisConfiguration"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
+ </constraints>
+ </views>
+ <views name="Single IFillingConfiguration" sections="/0/@tabs.0/@sections.36" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.4/@elements.7">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isSingleIFillingConfiguration">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="IFillingConfiguration"/>
+ </constraints>
+ </views>
+ <views elementMultiplicity="-1" name="Multiple IFillingConfiguration" sections="/0/@tabs.0/@sections.37" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.4/@elements.7">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isMultipleIFillingConfiguration">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="IFillingConfiguration"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
+ </constraints>
+ </views>
+ <views name="Single EStructuralFeatureValueFillingConfiguration" sections="/0/@tabs.0/@sections.38" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.4/@elements.8">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isSingleEStructuralFeatureValueFillingConfiguration">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="EStructuralFeatureValueFillingConfiguration"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
+ </constraints>
+ </views>
+ <views elementMultiplicity="-1" name="Multiple EStructuralFeatureValueFillingConfiguration" sections="/0/@tabs.0/@sections.39" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.4/@elements.8">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isMultipleEStructuralFeatureValueFillingConfiguration">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="EStructuralFeatureValueFillingConfiguration"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
+ </constraints>
+ </views>
+ <views name="Single IPasteConfiguration" sections="/0/@tabs.0/@sections.40" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.4/@elements.9">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isSingleIPasteConfiguration">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="IPasteConfiguration"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
+ </constraints>
+ </views>
+ <views elementMultiplicity="-1" name="Multiple IPasteConfiguration" sections="/0/@tabs.0/@sections.41" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.4/@elements.9">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isMultipleIPasteConfiguration">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="IPasteConfiguration"/>
+ </constraints>
+ </views>
+ <views name="Single PasteEObjectConfiguration" sections="/0/@tabs.0/@sections.42" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.4/@elements.10">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isSinglePasteEObjectConfiguration">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="PasteEObjectConfiguration"/>
+ </constraints>
+ </views>
+ <views elementMultiplicity="-1" name="Multiple PasteEObjectConfiguration" sections="/0/@tabs.0/@sections.43" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.4/@elements.10">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isMultiplePasteEObjectConfiguration">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="PasteEObjectConfiguration"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"/>
+ </constraints>
+ </views>
+ <views name="Single AbstractTableTester" sections="/0/@tabs.0/@sections.44" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.5/@elements.0">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isSingleAbstractTableTester">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattabletester"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="AbstractTableTester"/>
+ </constraints>
+ </views>
+ <views elementMultiplicity="-1" name="Multiple AbstractTableTester" sections="/0/@tabs.0/@sections.45" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.5/@elements.0">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isMultipleAbstractTableTester">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="AbstractTableTester"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattabletester"/>
+ </constraints>
+ </views>
+ <views name="Single JavaTableTester" sections="/0/@tabs.0/@sections.46" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.5/@elements.1">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isSingleJavaTableTester">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="JavaTableTester"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattabletester"/>
+ </constraints>
+ </views>
+ <views elementMultiplicity="-1" name="Multiple JavaTableTester" sections="/0/@tabs.0/@sections.47" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.5/@elements.1">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isMultipleJavaTableTester">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattabletester"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="JavaTableTester"/>
+ </constraints>
+ </views>
+ <views name="Single IAxis" sections="/0/@tabs.0/@sections.48" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.6/@elements.0">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isSingleIAxis">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="IAxis"/>
+ </constraints>
+ </views>
+ <views elementMultiplicity="-1" name="Multiple IAxis" sections="/0/@tabs.0/@sections.49" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.6/@elements.0">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isMultipleIAxis">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="IAxis"/>
+ </constraints>
+ </views>
+ <views name="Single IdAxis" sections="/0/@tabs.0/@sections.50" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.6/@elements.1">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isSingleIdAxis">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="IdAxis"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis"/>
+ </constraints>
+ </views>
+ <views elementMultiplicity="-1" name="Multiple IdAxis" sections="/0/@tabs.0/@sections.51" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.6/@elements.1">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isMultipleIdAxis">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="IdAxis"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis"/>
+ </constraints>
+ </views>
+ <views name="Single ObjectAxis" sections="/0/@tabs.0/@sections.52" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.6/@elements.4">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isSingleObjectAxis">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="ObjectAxis"/>
+ </constraints>
+ </views>
+ <views elementMultiplicity="-1" name="Multiple ObjectAxis" sections="/0/@tabs.0/@sections.53" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.6/@elements.4">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isMultipleObjectAxis">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="ObjectAxis"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis"/>
+ </constraints>
+ </views>
+ <views name="Single EObjectAxis" sections="/0/@tabs.0/@sections.54" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.6/@elements.2">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isSingleEObjectAxis">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="EObjectAxis"/>
+ </constraints>
+ </views>
+ <views elementMultiplicity="-1" name="Multiple EObjectAxis" sections="/0/@tabs.0/@sections.55" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.6/@elements.2">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isMultipleEObjectAxis">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="EObjectAxis"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis"/>
+ </constraints>
+ </views>
+ <views name="Single FeatureAxis" sections="/0/@tabs.0/@sections.56" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.6/@elements.3">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isSingleFeatureAxis">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="FeatureAxis"/>
+ </constraints>
+ </views>
+ <views elementMultiplicity="-1" name="Multiple FeatureAxis" sections="/0/@tabs.0/@sections.57" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.6/@elements.3">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isMultipleFeatureAxis">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="FeatureAxis"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis"/>
+ </constraints>
+ </views>
+ <views name="Single FeatureIdAxis" sections="/0/@tabs.0/@sections.58" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.6/@elements.5">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isSingleFeatureIdAxis">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="FeatureIdAxis"/>
+ </constraints>
+ </views>
+ <views elementMultiplicity="-1" name="Multiple FeatureIdAxis" sections="/0/@tabs.0/@sections.59" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.6/@elements.5">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isMultipleFeatureIdAxis">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="FeatureIdAxis"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis"/>
+ </constraints>
+ </views>
+ <views name="Single EStructuralFeatureAxis" sections="/0/@tabs.0/@sections.60" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.6/@elements.6">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isSingleEStructuralFeatureAxis">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="EStructuralFeatureAxis"/>
+ </constraints>
+ </views>
+ <views elementMultiplicity="-1" name="Multiple EStructuralFeatureAxis" sections="/0/@tabs.0/@sections.61" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.6/@elements.6">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isMultipleEStructuralFeatureAxis">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="EStructuralFeatureAxis"/>
+ </constraints>
+ </views>
+ <views name="Single ObjectIdAxis" sections="/0/@tabs.0/@sections.62" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.6/@elements.7">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isSingleObjectIdAxis">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="ObjectIdAxis"/>
+ </constraints>
+ </views>
+ <views elementMultiplicity="-1" name="Multiple ObjectIdAxis" sections="/0/@tabs.0/@sections.63" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.6/@elements.7">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isMultipleObjectIdAxis">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="ObjectIdAxis"/>
+ </constraints>
+ </views>
+ <views name="SingleTableAppearance" sections="/0/@tabs.1/@sections.0 /0/@tabs.1/@sections.1 /0/@tabs.1/@sections.2 /0/@tabs.1/@sections.3 /0/@tabs.1/@sections.4">
+ <constraints xsi:type="constraints:SimpleConstraint" name="singleTable">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="Table"/>
+ </constraints>
+ </views>
+ <views name="SinglePasteInTable" sections="/0/@tabs.2/@sections.0 /0/@tabs.2/@sections.1 /0/@tabs.2/@sections.2 /0/@tabs.2/@sections.3">
+ <constraints xsi:type="constraints:SimpleConstraint" name="singleTable">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="Table"/>
+ </constraints>
+ </views>
+ <dataContexts name="nattable" label="nattable">
+ <elements name="Table" supertypes="/0/@dataContexts.0/@elements.1/@elements.0">
+ <properties name="context" type="Reference"/>
+ <properties name="tableConfiguration" type="Reference"/>
+ <properties name="invertAxis"/>
+ <properties name="columnAxisProvidersHistory" type="Reference" multiplicity="-1"/>
+ <properties name="rowAxisProvidersHistory" type="Reference" multiplicity="-1"/>
+ <properties name="localRowHeaderAxisConfiguration" type="Reference"/>
+ <properties name="localColumnHeaderAxisConfiguration" type="Reference"/>
+ <properties name="currentRowAxisProvider" type="Reference"/>
+ <properties name="currentColumnAxisProvider" type="Reference"/>
+ <properties name="columnFeatureLabelProviderConfigurationDisplayIcon" label="Display Column FeatureIcon" type="Boolean" description="Display Column Icon"/>
+ <properties name="columnFeatureLabelProviderConfigurationDisplayLabel" label="Display Column Feature Label" type="Boolean" description="Display Column Label"/>
+ <properties name="columnFeatureLabelProviderConfigurationDisplayIsDerived" label="Display Column Feature IsDerived" type="Boolean" description="Display Column Feature IsDerived"/>
+ <properties name="columnFeatureLabelProviderConfigurationDisplayType" label="Display Column Feature Type" type="Boolean" description="Display Column Feature Type"/>
+ <properties name="columnFeatureLabelProviderConfigurationDisplayMultiplicity" label="Display Column Feature Multiplicity" type="Boolean" description="Display Column Feature Multiplicity"/>
+ <properties name="columnFeatureLabelProviderConfigurationDisplayName" label="Display Column Feature Name" type="Boolean" description="Display Column Feature Name"/>
+ <properties name="columnObjectLabelProviderConfigurationDisplayIcon" label="Display Column Object Icon" type="Boolean" description="Display Column Object Icon"/>
+ <properties name="columnObjectLabelProviderConfigurationDisplayLabel" label="Display Column Object Label" type="Boolean" description="Display Column Object Label"/>
+ <properties name="rowFeatureLabelProviderConfigurationDisplayIcon" label="Display Row FeatureIcon" type="Boolean" description="Display Row Icon"/>
+ <properties name="rowFeatureLabelProviderConfigurationDisplayLabel" label="Display Row Feature Label" type="Boolean" description="Display Row Label"/>
+ <properties name="rowFeatureLabelProviderConfigurationDisplayIsDerived" label="Display Row Feature IsDerived" type="Boolean" description="Display Row Feature IsDerived"/>
+ <properties name="rowFeatureLabelProviderConfigurationDisplayType" label="Display Row Feature Type" type="Boolean" description="Display Row Feature Type"/>
+ <properties name="rowFeatureLabelProviderConfigurationDisplayMultiplicity" label="Display Row Feature Multiplicity" type="Boolean" description="Display Row Feature Multiplicity"/>
+ <properties name="rowFeatureLabelProviderConfigurationDisplayName" label="Display Row Feature Name" type="Boolean" description="Display Row Feature Name"/>
+ <properties name="rowObjectLabelProviderConfigurationDisplayIcon" label="Display Row Object Icon" type="Boolean" description="Display Row Object Icon"/>
+ <properties name="rowObjectLabelProviderConfigurationDisplayLabel" label="Display Row Object Label" type="Boolean" description="Display Row Object Label"/>
+ <properties name="rowPastedEObjectId" label="Row Pasted Element Type Id" description="Row Pasted Element Type Id"/>
+ <properties name="rowPastedEObjectContainmentFeature" label="Row Pasted EObject Contaiment Feature"/>
</elements>
- <elements
- xsi:type="contexts:DataContextPackage"
- name="nattableconfiguration">
- <elements
- name="TableNamedElement">
- <properties
- name="description"/>
- <properties
- name="name"/>
+ <elements xsi:type="contexts:DataContextPackage" name="nattableconfiguration">
+ <elements name="TableNamedElement">
+ <properties name="description"/>
+ <properties name="name"/>
</elements>
- <elements
- name="TableConfiguration"
- supertypes="/0/@dataContexts.0/@elements.1/@elements.0">
- <properties
- name="type"/>
- <properties
- name="iconPath"/>
- <properties
- name="creationTester"
- type="Reference"/>
- <properties
- name="cellEditorDeclaration"
- type="Enumeration"/>
- <properties
- name="rowHeaderAxisConfiguration"
- type="Reference"/>
- <properties
- name="columnHeaderAxisConfiguration"
- type="Reference"/>
- <properties
- name="columnAxisProviders"
- type="Reference"
- multiplicity="-1"/>
- <properties
- name="rowAxisProviders"
- type="Reference"
- multiplicity="-1"/>
- <properties
- name="defaultRowAxisProvider"
- type="Reference"/>
- <properties
- name="defaultColumnAxisProvider"
- type="Reference"/>
+ <elements name="TableConfiguration" supertypes="/0/@dataContexts.0/@elements.1/@elements.0">
+ <properties name="type"/>
+ <properties name="iconPath"/>
+ <properties name="creationTester" type="Reference"/>
+ <properties name="cellEditorDeclaration" type="Enumeration"/>
+ <properties name="rowHeaderAxisConfiguration" type="Reference"/>
+ <properties name="columnHeaderAxisConfiguration" type="Reference"/>
+ <properties name="columnAxisProviders" type="Reference" multiplicity="-1"/>
+ <properties name="rowAxisProviders" type="Reference" multiplicity="-1"/>
+ <properties name="defaultRowAxisProvider" type="Reference"/>
+ <properties name="defaultColumnAxisProvider" type="Reference"/>
</elements>
</elements>
- <elements
- xsi:type="contexts:DataContextPackage"
- name="nattableaxisprovider">
- <elements
- name="AbstractAxisProvider"/>
- <elements
- name="IMasterAxisProvider"
- supertypes="/0/@dataContexts.0/@elements.2/@elements.3">
- <properties
- name="disconnectSlave"/>
+ <elements xsi:type="contexts:DataContextPackage" name="nattableaxisprovider">
+ <elements name="AbstractAxisProvider"/>
+ <elements name="IMasterAxisProvider" supertypes="/0/@dataContexts.0/@elements.2/@elements.3">
+ <properties name="disconnectSlave"/>
</elements>
- <elements
- name="ISlaveAxisProvider"
- supertypes="/0/@dataContexts.0/@elements.2/@elements.3"/>
- <elements
- name="AxisProvider"
- supertypes="/0/@dataContexts.0/@elements.2/@elements.0">
- <properties
- name="axis"
- type="Reference"
- multiplicity="-1"/>
+ <elements name="ISlaveAxisProvider" supertypes="/0/@dataContexts.0/@elements.2/@elements.3"/>
+ <elements name="AxisProvider" supertypes="/0/@dataContexts.0/@elements.2/@elements.0">
+ <properties name="axis" type="Reference" multiplicity="-1"/>
</elements>
- <elements
- name="SlaveObjectAxisProvider"
- supertypes="/0/@dataContexts.0/@elements.2/@elements.2"/>
- <elements
- name="MasterObjectAxisProvider"
- supertypes="/0/@dataContexts.0/@elements.2/@elements.1"/>
+ <elements name="SlaveObjectAxisProvider" supertypes="/0/@dataContexts.0/@elements.2/@elements.2"/>
+ <elements name="MasterObjectAxisProvider" supertypes="/0/@dataContexts.0/@elements.2/@elements.1"/>
</elements>
- <elements
- xsi:type="contexts:DataContextPackage"
- name="nattablelabelprovider">
- <elements
- name="ILabelProviderConfiguration"/>
- <elements
- name="FeatureLabelProviderConfiguration"
- supertypes="/0/@dataContexts.0/@elements.3/@elements.2">
- <properties
- name="displayIsDerived"/>
- <properties
- name="displayType"/>
- <properties
- name="displayMultiplicity"/>
- <properties
- name="displayName"/>
+ <elements xsi:type="contexts:DataContextPackage" name="nattablelabelprovider">
+ <elements name="ILabelProviderConfiguration"/>
+ <elements name="FeatureLabelProviderConfiguration" supertypes="/0/@dataContexts.0/@elements.3/@elements.2">
+ <properties name="displayIsDerived"/>
+ <properties name="displayType"/>
+ <properties name="displayMultiplicity"/>
+ <properties name="displayName"/>
</elements>
- <elements
- name="ObjectLabelProviderConfiguration"
- supertypes="/0/@dataContexts.0/@elements.3/@elements.0">
- <properties
- name="displayIcon"/>
- <properties
- name="displayLabel"/>
+ <elements name="ObjectLabelProviderConfiguration" supertypes="/0/@dataContexts.0/@elements.3/@elements.0">
+ <properties name="displayIcon"/>
+ <properties name="displayLabel"/>
</elements>
</elements>
- <elements
- xsi:type="contexts:DataContextPackage"
- name="nattableaxisconfiguration">
- <elements
- name="AbstractHeaderAxisConfiguration">
- <properties
- name="indexStyle"
- type="Enumeration"/>
- <properties
- name="displayLabel"/>
- <properties
- name="displayFilter"/>
- <properties
- name="displayIndex"/>
- <properties
- name="ownedLabelConfigurations"
- type="Reference"
- multiplicity="-1"/>
- <properties
- name="ownedAxisConfigurations"
- type="Reference"
- multiplicity="-1"/>
+ <elements xsi:type="contexts:DataContextPackage" name="nattableaxisconfiguration">
+ <elements name="AbstractHeaderAxisConfiguration">
+ <properties name="indexStyle" type="Enumeration"/>
+ <properties name="displayLabel"/>
+ <properties name="displayFilter"/>
+ <properties name="displayIndex"/>
+ <properties name="ownedLabelConfigurations" type="Reference" multiplicity="-1"/>
+ <properties name="ownedAxisConfigurations" type="Reference" multiplicity="-1"/>
</elements>
- <elements
- name="AxisManagerRepresentation">
- <properties
- name="axisManagerId"/>
- <properties
- name="labelProviderContext"/>
- <properties
- name="headerLabelConfiguration"
- type="Reference"/>
- <properties
- name="specificAxisConfigurations"
- type="Reference"
- multiplicity="-1"/>
+ <elements name="AxisManagerRepresentation">
+ <properties name="axisManagerId"/>
+ <properties name="labelProviderContext"/>
+ <properties name="headerLabelConfiguration" type="Reference"/>
+ <properties name="specificAxisConfigurations" type="Reference" multiplicity="-1"/>
</elements>
- <elements
- name="AxisManagerConfiguration">
- <properties
- name="localHeaderLabelConfiguration"
- type="Reference"/>
- <properties
- name="axisManager"
- type="Reference"/>
- <properties
- name="localSpecificConfigurations"
- type="Reference"
- multiplicity="-1"/>
+ <elements name="AxisManagerConfiguration">
+ <properties name="localHeaderLabelConfiguration" type="Reference"/>
+ <properties name="axisManager" type="Reference"/>
+ <properties name="localSpecificConfigurations" type="Reference" multiplicity="-1"/>
</elements>
- <elements
- name="TableHeaderAxisConfiguration"
- supertypes="/0/@dataContexts.0/@elements.4/@elements.0">
- <properties
- name="axisManagers"
- type="Reference"
- multiplicity="-1"/>
+ <elements name="TableHeaderAxisConfiguration" supertypes="/0/@dataContexts.0/@elements.4/@elements.0">
+ <properties name="axisManagers" type="Reference" multiplicity="-1"/>
</elements>
- <elements
- name="LocalTableHeaderAxisConfiguration"
- supertypes="/0/@dataContexts.0/@elements.4/@elements.0">
- <properties
- name="axisManagerConfigurations"
- type="Reference"
- multiplicity="-1"/>
+ <elements name="LocalTableHeaderAxisConfiguration" supertypes="/0/@dataContexts.0/@elements.4/@elements.0">
+ <properties name="axisManagerConfigurations" type="Reference" multiplicity="-1"/>
</elements>
- <elements
- name="IAxisConfiguration"/>
- <elements
- name="FeatureAxisConfiguration"
- supertypes="/0/@dataContexts.0/@elements.4/@elements.5">
- <properties
- name="showOnlyCommonFeature"
- type="Boolean"/>
+ <elements name="IAxisConfiguration"/>
+ <elements name="FeatureAxisConfiguration" supertypes="/0/@dataContexts.0/@elements.4/@elements.5">
+ <properties name="showOnlyCommonFeature" type="Boolean"/>
</elements>
- <elements
- name="IFillingConfiguration"
- supertypes="/0/@dataContexts.0/@elements.4/@elements.5"/>
- <elements
- name="EStructuralFeatureValueFillingConfiguration"
- supertypes="/0/@dataContexts.0/@elements.4/@elements.7">
- <properties
- name="listenFeature"
- type="Reference"/>
+ <elements name="IFillingConfiguration" supertypes="/0/@dataContexts.0/@elements.4/@elements.5"/>
+ <elements name="EStructuralFeatureValueFillingConfiguration" supertypes="/0/@dataContexts.0/@elements.4/@elements.7">
+ <properties name="listenFeature" type="Reference"/>
</elements>
- <elements
- name="IPasteConfiguration"
- supertypes="/0/@dataContexts.0/@elements.4/@elements.5"/>
- <elements
- name="PasteEObjectConfiguration"
- supertypes="/0/@dataContexts.0/@elements.4/@elements.9">
- <properties
- name="pastedElementId"/>
- <properties
- name="pasteElementContainementFeature"
- type="Reference"/>
+ <elements name="IPasteConfiguration" supertypes="/0/@dataContexts.0/@elements.4/@elements.5"/>
+ <elements name="PasteEObjectConfiguration" supertypes="/0/@dataContexts.0/@elements.4/@elements.9">
+ <properties name="pastedElementId"/>
+ <properties name="pasteElementContainementFeature" type="Reference"/>
</elements>
</elements>
- <elements
- xsi:type="contexts:DataContextPackage"
- name="nattabletester">
- <elements
- name="AbstractTableTester"/>
- <elements
- name="JavaTableTester"
- supertypes="/0/@dataContexts.0/@elements.5/@elements.0">
- <properties
- name="tester"/>
+ <elements xsi:type="contexts:DataContextPackage" name="nattabletester">
+ <elements name="AbstractTableTester"/>
+ <elements name="JavaTableTester" supertypes="/0/@dataContexts.0/@elements.5/@elements.0">
+ <properties name="tester"/>
</elements>
</elements>
- <elements
- xsi:type="contexts:DataContextPackage"
- name="nattableaxis">
- <elements
- name="IAxis">
- <properties
- name="manager"
- type="Reference"/>
- <properties
- name="alias"/>
+ <elements xsi:type="contexts:DataContextPackage" name="nattableaxis">
+ <elements name="IAxis">
+ <properties name="manager" type="Reference"/>
+ <properties name="alias"/>
</elements>
- <elements
- name="IdAxis"
- supertypes="/0/@dataContexts.0/@elements.6/@elements.0">
- <properties
- name="element"/>
+ <elements name="IdAxis" supertypes="/0/@dataContexts.0/@elements.6/@elements.0">
+ <properties name="element"/>
</elements>
- <elements
- name="EObjectAxis"
- supertypes="/0/@dataContexts.0/@elements.6/@elements.4">
- <properties
- name="element"
- type="Reference"/>
+ <elements name="EObjectAxis" supertypes="/0/@dataContexts.0/@elements.6/@elements.4">
+ <properties name="element" type="Reference"/>
</elements>
- <elements
- name="FeatureAxis"
- supertypes="/0/@dataContexts.0/@elements.6/@elements.0">
- <properties
- name="localLabelConfiguration"
- type="Reference"/>
+ <elements name="FeatureAxis" supertypes="/0/@dataContexts.0/@elements.6/@elements.0">
+ <properties name="localLabelConfiguration" type="Reference"/>
</elements>
- <elements
- name="ObjectAxis"
- supertypes="/0/@dataContexts.0/@elements.6/@elements.0">
- <properties
- name="localLabelConfiguration"
- type="Reference"/>
+ <elements name="ObjectAxis" supertypes="/0/@dataContexts.0/@elements.6/@elements.0">
+ <properties name="localLabelConfiguration" type="Reference"/>
</elements>
- <elements
- name="FeatureIdAxis"
- supertypes="/0/@dataContexts.0/@elements.6/@elements.1 /0/@dataContexts.0/@elements.6/@elements.3"/>
- <elements
- name="EStructuralFeatureAxis"
- supertypes="/0/@dataContexts.0/@elements.6/@elements.3">
- <properties
- name="element"
- type="Reference"/>
+ <elements name="FeatureIdAxis" supertypes="/0/@dataContexts.0/@elements.6/@elements.1 /0/@dataContexts.0/@elements.6/@elements.3"/>
+ <elements name="EStructuralFeatureAxis" supertypes="/0/@dataContexts.0/@elements.6/@elements.3">
+ <properties name="element" type="Reference"/>
</elements>
- <elements
- name="ObjectIdAxis"
- supertypes="/0/@dataContexts.0/@elements.6/@elements.1 /0/@dataContexts.0/@elements.6/@elements.4"/>
+ <elements name="ObjectIdAxis" supertypes="/0/@dataContexts.0/@elements.6/@elements.1 /0/@dataContexts.0/@elements.6/@elements.4"/>
</elements>
- <modelElementFactory
- href="Environment.xmi#//@modelElementFactories.0"/>
+ <modelElementFactory href="Environment.xmi#//@modelElementFactories.0"/>
</dataContexts>
</contexts:Context>
- <contexts:View
- name="Single TableNamedElement"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.1/@elements.0">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isSingleTableNamedElement">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="TableNamedElement"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration"/>
+ <contexts:View name="Single TableNamedElement" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.1/@elements.0">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isSingleTableNamedElement">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="TableNamedElement"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration"/>
</constraints>
</contexts:View>
- <contexts:View
- elementMultiplicity="-1"
- name="Multiple TableNamedElement"
- automaticContext="true"
- datacontexts="/0/@dataContexts.0/@elements.1/@elements.0">
- <constraints
- xsi:type="constraints:SimpleConstraint"
- name="isMultipleTableNamedElement">
- <constraintType
- href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="nsUri"
- value="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration"/>
- <properties
- xsi:type="constraints:ValueProperty"
- name="className"
- value="TableNamedElement"/>
+ <contexts:View elementMultiplicity="-1" name="Multiple TableNamedElement" automaticContext="true" datacontexts="/0/@dataContexts.0/@elements.1/@elements.0">
+ <constraints xsi:type="constraints:SimpleConstraint" name="isMultipleTableNamedElement">
+ <constraintType href="ppe:/environment/org.eclipse.papyrus.views.properties/model/Environment.xmi#//@constraintTypes.0"/>
+ <properties xsi:type="constraints:ValueProperty" name="nsUri" value="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration"/>
+ <properties xsi:type="constraints:ValueProperty" name="className" value="TableNamedElement"/>
</constraints>
</contexts:View>
</xmi:XMI>
diff --git a/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/model/ui/CanPasteEObjectColumnSection.xwt b/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/model/ui/CanPasteEObjectColumnSection.xwt
index 6cb34249987..76c02f0bedc 100644
--- a/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/model/ui/CanPasteEObjectColumnSection.xwt
+++ b/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/model/ui/CanPasteEObjectColumnSection.xwt
@@ -1,2 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation" xmlns:ppel="clr-namespace:org.eclipse.papyrus.views.properties.widgets.layout" xmlns:ppe="clr-namespace:org.eclipse.papyrus.views.properties.widgets"><Composite.layout><ppel:PropertiesLayout></ppel:PropertiesLayout></Composite.layout><Group text="Paste Column Axis"><Group.layout><ppel:PropertiesLayout makeColumnsEqualWidth="true" numColumns="2"></ppel:PropertiesLayout></Group.layout><ppe:StringCombo input="{Binding}" property="nattable:Table:localColumnHeaderAxisConfiguration.pastedEObjectId" customLabel="Pasted Element Id"></ppe:StringCombo><ppe:ReferenceDialog input="{Binding}" property="nattable:Table:localColumnHeaderAxisConfiguration.pastedEObjectContainmentFeature" customLabel="Containment Feature"></ppe:ReferenceDialog></Group></Composite> \ No newline at end of file
+<Composite xmlns:ppe="clr-namespace:org.eclipse.papyrus.views.properties.widgets"
+ xmlns:ppel="clr-namespace:org.eclipse.papyrus.views.properties.widgets.layout"
+ xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation">
+ <Composite.layout>
+ <ppel:PropertiesLayout></ppel:PropertiesLayout>
+ </Composite.layout>
+ <Group text="Paste Column Axis">
+ <Group.layout>
+ <ppel:PropertiesLayout numColumns="3"
+ makeColumnsEqualWidth="true"></ppel:PropertiesLayout>
+ </Group.layout>
+ <ppe:BooleanCheckbox input="{Binding}"
+ property="nattable:Table:localColumnHeaderAxisConfiguration.detachedMode"
+ customLabel="Detached Mode"></ppe:BooleanCheckbox>
+ <ppe:StringCombo input="{Binding}"
+ property="nattable:Table:localColumnHeaderAxisConfiguration.pastedEObjectId"
+ customLabel="Pasted Element Id"></ppe:StringCombo>
+ <ppe:ReferenceDialog input="{Binding}"
+ property="nattable:Table:localColumnHeaderAxisConfiguration.pastedEObjectContainmentFeature"
+ customLabel="Containment Feature"></ppe:ReferenceDialog>
+ <ppe:MultiString input="{Binding}"
+ property="nattable:Table:localColumnHeaderAxisConfiguration.postActions"
+ customLabel="Post Actions"></ppe:MultiString>
+ </Group>
+</Composite> \ No newline at end of file
diff --git a/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/model/ui/CanPasteEObjectRowSection.xwt b/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/model/ui/CanPasteEObjectRowSection.xwt
index 38a3ff97dbe..3b1701d427a 100644
--- a/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/model/ui/CanPasteEObjectRowSection.xwt
+++ b/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/model/ui/CanPasteEObjectRowSection.xwt
@@ -1,2 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation" xmlns:x="http://www.eclipse.org/xwt" xmlns:ppe="clr-namespace:org.eclipse.papyrus.views.properties.widgets" xmlns:ppel="clr-namespace:org.eclipse.papyrus.views.properties.widgets.layout"><Composite.layout><ppel:PropertiesLayout></ppel:PropertiesLayout></Composite.layout><Group text="Paste Row Axis"><Group.layout><ppel:PropertiesLayout makeColumnsEqualWidth="true" numColumns="2"></ppel:PropertiesLayout></Group.layout><ppe:StringCombo input="{Binding}" property="nattable:Table:localRowHeaderAxisConfiguration.pastedEObjectId" customLabel="Pasted Element Id"></ppe:StringCombo><ppe:ReferenceDialog input="{Binding}" property="nattable:Table:localRowHeaderAxisConfiguration.pastedEObjectContainmentFeature" customLabel="Containment Feature"></ppe:ReferenceDialog></Group></Composite> \ No newline at end of file
+<Composite xmlns:ppe="clr-namespace:org.eclipse.papyrus.views.properties.widgets"
+ xmlns:x="http://www.eclipse.org/xwt" xmlns="http://www.eclipse.org/xwt/presentation"
+ xmlns:ppel="clr-namespace:org.eclipse.papyrus.views.properties.widgets.layout">
+ <Composite.layout>
+ <ppel:PropertiesLayout></ppel:PropertiesLayout>
+ </Composite.layout>
+ <Group text="Paste Row Axis">
+ <Group.layout>
+ <ppel:PropertiesLayout numColumns="3"
+ makeColumnsEqualWidth="true"></ppel:PropertiesLayout>
+ </Group.layout>
+ <ppe:BooleanCheckbox input="{Binding}"
+ property="nattable:Table:localRowHeaderAxisConfiguration.detachedMode"
+ customLabel="Detached Mode"></ppe:BooleanCheckbox>
+ <ppe:StringCombo input="{Binding}"
+ property="nattable:Table:localRowHeaderAxisConfiguration.pastedEObjectId"
+ customLabel="Pasted Element Id"></ppe:StringCombo>
+ <ppe:ReferenceDialog input="{Binding}"
+ property="nattable:Table:localRowHeaderAxisConfiguration.pastedEObjectContainmentFeature"
+ customLabel="Containment Feature"></ppe:ReferenceDialog>
+ <ppe:MultiString input="{Binding}"
+ property="nattable:Table:localRowHeaderAxisConfiguration.postActions"
+ customLabel="Post Actions"></ppe:MultiString>
+ </Group>
+</Composite> \ No newline at end of file
diff --git a/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/modelelement/NatTableModelElement.java b/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/modelelement/NatTableModelElement.java
index 58228291a1e..23486386435 100644
--- a/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/modelelement/NatTableModelElement.java
+++ b/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/modelelement/NatTableModelElement.java
@@ -32,7 +32,6 @@ import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfigurati
import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.NattableaxisconfigurationPackage;
import org.eclipse.papyrus.infra.nattable.model.nattable.nattablelabelprovider.ILabelProviderConfiguration;
import org.eclipse.papyrus.infra.nattable.model.nattable.nattablelabelprovider.NattablelabelproviderPackage;
-import org.eclipse.papyrus.infra.nattable.properties.observable.AbstractConfigurationElementObservableValue;
import org.eclipse.papyrus.infra.nattable.properties.observable.ColumnDisplayFilterHeaderObservableValue;
import org.eclipse.papyrus.infra.nattable.properties.observable.ColumnDisplayIndexHeaderObservableValue;
import org.eclipse.papyrus.infra.nattable.properties.observable.ColumnDisplayLabelHeaderObservableValue;
@@ -47,6 +46,8 @@ import org.eclipse.papyrus.infra.nattable.properties.observable.ColumnObjectLabe
import org.eclipse.papyrus.infra.nattable.properties.observable.ColumnObjectLabelDisplayLabelObservableValue;
import org.eclipse.papyrus.infra.nattable.properties.observable.ColumnPasteEObjectContainmentFeatureObservableValue;
import org.eclipse.papyrus.infra.nattable.properties.observable.ColumnPasteEObjectElementTypeIdObservableValue;
+import org.eclipse.papyrus.infra.nattable.properties.observable.ColumnPasteObjectDetachedModeObservableValue;
+import org.eclipse.papyrus.infra.nattable.properties.observable.ColumnPasteObjectPostActionsObservableValue;
import org.eclipse.papyrus.infra.nattable.properties.observable.RowDisplayIndexHeaderObservableValue;
import org.eclipse.papyrus.infra.nattable.properties.observable.RowDisplayLabelHeaderObservableValue;
import org.eclipse.papyrus.infra.nattable.properties.observable.RowFeatureLabelDisplayIconObservableValue;
@@ -60,6 +61,8 @@ import org.eclipse.papyrus.infra.nattable.properties.observable.RowObjectLabelDi
import org.eclipse.papyrus.infra.nattable.properties.observable.RowObjectLabelDisplayLabelObservableValue;
import org.eclipse.papyrus.infra.nattable.properties.observable.RowPasteEObjectContainmentFeatureObservableValue;
import org.eclipse.papyrus.infra.nattable.properties.observable.RowPasteEObjectElementTypeIdObservableValue;
+import org.eclipse.papyrus.infra.nattable.properties.observable.RowPasteObjectDetachedModeObservableValue;
+import org.eclipse.papyrus.infra.nattable.properties.observable.RowPasteObjectPostActionsObservableValue;
import org.eclipse.papyrus.infra.nattable.properties.provider.ColumnContainmentFeatureContentProvider;
import org.eclipse.papyrus.infra.nattable.properties.provider.ColumnElementTypeIdContentProvider;
import org.eclipse.papyrus.infra.nattable.properties.provider.RowContainmentFeatureContentProvider;
@@ -70,6 +73,7 @@ import org.eclipse.papyrus.infra.widgets.providers.IStaticContentProvider;
import org.eclipse.papyrus.views.properties.modelelement.EMFModelElement;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
public class NatTableModelElement extends EMFModelElement {
@@ -82,7 +86,7 @@ public class NatTableModelElement extends EMFModelElement {
/**
* the map linking the propertypath and the observable values
*/
- private Map<String, AbstractConfigurationElementObservableValue> observableValues;
+ private Map<String, IObservable> observableValues;
/**
* the collection of the interesting features to update the property view
@@ -134,7 +138,7 @@ public class NatTableModelElement extends EMFModelElement {
*/
private void init() {
tableModelManager = new NattableModelManager(getEditedTable());
- this.observableValues = new HashMap<String, AbstractConfigurationElementObservableValue>();
+ this.observableValues = new HashMap<String, IObservable>();
this.interestingFeatures = new ArrayList<EStructuralFeature>();
interestingFeatures.add(NattablePackage.eINSTANCE.getTable_InvertAxis());
interestingFeatures.add(NattablePackage.eINSTANCE.getTable_LocalColumnHeaderAxisConfiguration());
@@ -268,8 +272,10 @@ public class NatTableModelElement extends EMFModelElement {
initOtherFieldsAndAddOthersListeners();
final Event event = new Event();
- for(final AbstractConfigurationElementObservableValue current : observableValues.values()) {
- current.handleEvent(event);
+ for(final IObservable current : observableValues.values()) {
+ if(current instanceof Listener) {
+ ((Listener)current).handleEvent(event);
+ }
}
}
});
@@ -310,7 +316,7 @@ public class NatTableModelElement extends EMFModelElement {
*/
@Override
protected IObservable doGetObservable(final String propertyPath) {
- AbstractConfigurationElementObservableValue value = this.observableValues.get(propertyPath);
+ IObservable value = this.observableValues.get(propertyPath);
if(value == null) {
Table table = getEditedTable();
//column header properties
@@ -382,6 +388,10 @@ public class NatTableModelElement extends EMFModelElement {
value = new RowPasteEObjectContainmentFeatureObservableValue(table);
} else if(Constants.ROW_PASTED_EOBJECT_ID.equals(propertyPath)) {
value = new RowPasteEObjectElementTypeIdObservableValue(table);
+ } else if(Constants.ROW_PASTED_OBJECT_DETACHED_MODE_FEATURE.equals(propertyPath)) {
+ value = new RowPasteObjectDetachedModeObservableValue(getEditedTable());
+ } else if(Constants.ROW_PASTED_OBJECT_POST_ACTIONS_FEATURE.equals(propertyPath)) {
+ value = new RowPasteObjectPostActionsObservableValue(getDomain(), getEditedTable());
}
//paste column EObject
@@ -389,9 +399,14 @@ public class NatTableModelElement extends EMFModelElement {
value = new ColumnPasteEObjectContainmentFeatureObservableValue(table);
} else if(Constants.COLUMN_PASTED_EOBJECT_ID.equals(propertyPath)) {
value = new ColumnPasteEObjectElementTypeIdObservableValue(table);
+ } else if(Constants.COLUMN_PASTED_OBJECT_DETACHED_MODE_FEATURE.equals(propertyPath)) {
+ value = new ColumnPasteObjectDetachedModeObservableValue(getEditedTable());
+ } else if(Constants.COLUMN_PASTED_OBJECT_POST_ACTIONS_FEATURE.equals(propertyPath)) {
+ value = new ColumnPasteObjectPostActionsObservableValue(getDomain(), getEditedTable());
}
+
if(value != null) {
- this.observableValues.put(propertyPath, (AbstractConfigurationElementObservableValue)value);
+ this.observableValues.put(propertyPath, (IObservable)value);
}
}
if(value != null) {
@@ -460,12 +475,20 @@ public class NatTableModelElement extends EMFModelElement {
res = new RowContainmentFeatureContentProvider(getEditedTable()).getElements().length != 0;
} else if(Constants.ROW_PASTED_EOBJECT_ID.equals(propertyPath)) {
res = new RowElementTypeIdContentProvider(this.tableModelManager).getElements().length != 0;
+ } else if(Constants.ROW_PASTED_OBJECT_DETACHED_MODE_FEATURE.equals(propertyPath)) {
+ res = true;
+ } else if(Constants.ROW_PASTED_OBJECT_POST_ACTIONS_FEATURE.equals(propertyPath)) {
+ res = true;
//paste column EObject
} else if(Constants.COLUMN_PASTED_EOBJECT_CONTAINMENT_FEATURE.equals(propertyPath)) {
res = new ColumnContainmentFeatureContentProvider(getEditedTable()).getElements().length != 0;
} else if(Constants.COLUMN_PASTED_EOBJECT_ID.equals(propertyPath)) {
res = new ColumnElementTypeIdContentProvider(this.tableModelManager).getElements().length != 0;
+ } else if(Constants.COLUMN_PASTED_OBJECT_DETACHED_MODE_FEATURE.equals(propertyPath)) {
+ res = true;
+ } else if(Constants.COLUMN_PASTED_OBJECT_POST_ACTIONS_FEATURE.equals(propertyPath)) {
+ res = true;
}
}
diff --git a/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/observable/AbstractPasteObjectPostActionsObservableValue.java b/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/observable/AbstractPasteObjectPostActionsObservableValue.java
new file mode 100644
index 00000000000..7507f347f24
--- /dev/null
+++ b/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/observable/AbstractPasteObjectPostActionsObservableValue.java
@@ -0,0 +1,77 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.nattable.properties.observable;
+
+import java.util.Collections;
+import java.util.LinkedList;
+import java.util.List;
+
+import org.eclipse.emf.databinding.EMFProperties;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.papyrus.infra.emf.databinding.EMFObservableList;
+import org.eclipse.papyrus.infra.nattable.model.nattable.Table;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.NattableaxisconfigurationPackage;
+
+/**
+ * Observable value for the element type id
+ *
+ * @author VL222926
+ *
+ */
+public abstract class AbstractPasteObjectPostActionsObservableValue extends EMFObservableList {
+
+ private Table table;
+
+ /**
+ *
+ * Constructor.
+ *
+ * @param table
+ */
+ public AbstractPasteObjectPostActionsObservableValue(final EditingDomain domain, final Table table) {
+ super(Collections.EMPTY_LIST, domain, table, NattableaxisconfigurationPackage.eINSTANCE.getIPasteConfiguration_PostActions());
+ this.table = table;
+ updateList();
+ }
+
+
+ /**
+ *
+ */
+ protected void updateList() {
+ final List<?> list = EMFProperties.list(NattableaxisconfigurationPackage.eINSTANCE.getIPasteConfiguration_PostActions()).observe(getEditedEObject());
+ this.wrappedList = new LinkedList<Object>(list);
+ this.concreteList = list;
+ }
+
+
+ /**
+ *
+ * @see org.eclipse.papyrus.infra.nattable.properties.observable.AbstractColumnPasteEObjectConfigurationObservableValue#getEditedEObject()
+ *
+ * @return
+ */
+ protected abstract EObject getEditedEObject();
+
+ /**
+ *
+ * @return
+ * the table
+ */
+ protected Table getTable() {
+ return this.table;
+ }
+
+}
diff --git a/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/observable/ColumnPasteObjectDetachedModeObservableValue.java b/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/observable/ColumnPasteObjectDetachedModeObservableValue.java
new file mode 100644
index 00000000000..3fa107ea44c
--- /dev/null
+++ b/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/observable/ColumnPasteObjectDetachedModeObservableValue.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.nattable.properties.observable;
+
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.Table;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.NattableaxisconfigurationPackage;
+
+/**
+ * Observable value for the element type id
+ *
+ * @author VL222926
+ *
+ */
+public class ColumnPasteObjectDetachedModeObservableValue extends AbstractColumnPasteEObjectConfigurationObservableValue {
+
+ /**
+ *
+ * Constructor.
+ *
+ * @param table
+ */
+ public ColumnPasteObjectDetachedModeObservableValue(final Table table) {
+ super(table, NattableaxisconfigurationPackage.eINSTANCE.getIPasteConfiguration_DetachedMode());
+ }
+
+ /**
+ *
+ * @see org.eclipse.core.databinding.observable.value.IObservableValue#getValueType()
+ *
+ * @return
+ */
+ @Override
+ public Object getValueType() {
+ return EcorePackage.eINSTANCE.getEBoolean();
+ }
+
+
+}
diff --git a/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/observable/ColumnPasteObjectPostActionsObservableValue.java b/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/observable/ColumnPasteObjectPostActionsObservableValue.java
new file mode 100644
index 00000000000..571a8a0c4b2
--- /dev/null
+++ b/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/observable/ColumnPasteObjectPostActionsObservableValue.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.nattable.properties.observable;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.papyrus.infra.nattable.model.nattable.Table;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.NattableaxisconfigurationPackage;
+import org.eclipse.papyrus.infra.nattable.utils.AxisConfigurationUtils;
+
+/**
+ * Observable value for the element type id
+ *
+ * @author VL222926
+ *
+ */
+public class ColumnPasteObjectPostActionsObservableValue extends AbstractPasteObjectPostActionsObservableValue {
+
+ /**
+ *
+ * Constructor.
+ *
+ * @param table
+ */
+ public ColumnPasteObjectPostActionsObservableValue(final EditingDomain domain, final Table table) {
+ super(domain, table);
+ }
+
+
+ /**
+ *
+ * @see org.eclipse.papyrus.infra.nattable.properties.observable.AbstractColumnPasteEObjectConfigurationObservableValue#getEditedEObject()
+ *
+ * @return
+ */
+ protected EObject getEditedEObject() {
+ return AxisConfigurationUtils.getIAxisConfigurationUsedInTable(getTable(), NattableaxisconfigurationPackage.eINSTANCE.getPasteEObjectConfiguration(), true);
+ }
+
+
+}
diff --git a/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/observable/RowPasteObjectDetachedModeObservableValue.java b/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/observable/RowPasteObjectDetachedModeObservableValue.java
new file mode 100644
index 00000000000..f98549015f4
--- /dev/null
+++ b/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/observable/RowPasteObjectDetachedModeObservableValue.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.nattable.properties.observable;
+
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.Table;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.NattableaxisconfigurationPackage;
+
+/**
+ * Observable value for the element type id
+ *
+ * @author VL222926
+ *
+ */
+public class RowPasteObjectDetachedModeObservableValue extends AbstractRowPasteEObjectConfigurationObservableValue {
+
+ /**
+ *
+ * Constructor.
+ *
+ * @param table
+ */
+ public RowPasteObjectDetachedModeObservableValue(final Table table) {
+ super(table, NattableaxisconfigurationPackage.eINSTANCE.getIPasteConfiguration_DetachedMode());
+ }
+
+ /**
+ *
+ * @see org.eclipse.core.databinding.observable.value.IObservableValue#getValueType()
+ *
+ * @return
+ */
+ @Override
+ public Object getValueType() {
+ return EcorePackage.eINSTANCE.getEBoolean();
+ }
+
+
+}
diff --git a/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/observable/RowPasteObjectPostActionsObservableValue.java b/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/observable/RowPasteObjectPostActionsObservableValue.java
new file mode 100644
index 00000000000..d9bed546d77
--- /dev/null
+++ b/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/observable/RowPasteObjectPostActionsObservableValue.java
@@ -0,0 +1,51 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.nattable.properties.observable;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.papyrus.infra.nattable.model.nattable.Table;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.NattableaxisconfigurationPackage;
+import org.eclipse.papyrus.infra.nattable.utils.AxisConfigurationUtils;
+
+/**
+ * Observable value for the element type id
+ *
+ * @author VL222926
+ *
+ */
+public class RowPasteObjectPostActionsObservableValue extends AbstractPasteObjectPostActionsObservableValue {
+
+ /**
+ *
+ * Constructor.
+ *
+ * @param table
+ */
+ public RowPasteObjectPostActionsObservableValue(final EditingDomain domain, final Table table) {
+ super(domain, table);
+ }
+
+
+ /**
+ *
+ * @see org.eclipse.papyrus.infra.nattable.properties.observable.AbstractColumnPasteEObjectConfigurationObservableValue#getEditedEObject()
+ *
+ * @return
+ */
+ protected EObject getEditedEObject() {
+ return AxisConfigurationUtils.getIAxisConfigurationUsedInTable(getTable(), NattableaxisconfigurationPackage.eINSTANCE.getPasteEObjectConfiguration(), false);
+ }
+
+}
diff --git a/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/utils/Constants.java b/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/utils/Constants.java
index bd7c7f620b3..8d2e7a4e390 100644
--- a/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/utils/Constants.java
+++ b/extraplugins/table/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/utils/Constants.java
@@ -88,8 +88,16 @@ public class Constants {
public static final String ROW_PASTED_EOBJECT_CONTAINMENT_FEATURE = "localRowHeaderAxisConfiguration.pastedEObjectContainmentFeature";//$NON-NLS-1$
+ public static final String ROW_PASTED_OBJECT_DETACHED_MODE_FEATURE = "localRowHeaderAxisConfiguration.detachedMode";//$NON-NLS-1$
+
+ public static final String ROW_PASTED_OBJECT_POST_ACTIONS_FEATURE = "localRowHeaderAxisConfiguration.postActions";//$NON-NLS-1$
+
public static final String COLUMN_PASTED_EOBJECT_ID = "localColumnHeaderAxisConfiguration.pastedEObjectId";//$NON-NLS-1$
public static final String COLUMN_PASTED_EOBJECT_CONTAINMENT_FEATURE = "localColumnHeaderAxisConfiguration.pastedEObjectContainmentFeature";//$NON-NLS-1$
+ public static final String COLUMN_PASTED_OBJECT_DETACHED_MODE_FEATURE = "localColumnHeaderAxisConfiguration.detachedMode";//$NON-NLS-1$
+
+ public static final String COLUMN_PASTED_OBJECT_POST_ACTIONS_FEATURE = "localColumnHeaderAxisConfiguration.postActions";//$NON-NLS-1$
+
}
diff --git a/extraplugins/table/org.eclipse.papyrus.infra.nattable/META-INF/MANIFEST.MF b/extraplugins/table/org.eclipse.papyrus.infra.nattable/META-INF/MANIFEST.MF
index 3706da21fe7..e8664f0c2a4 100644
--- a/extraplugins/table/org.eclipse.papyrus.infra.nattable/META-INF/MANIFEST.MF
+++ b/extraplugins/table/org.eclipse.papyrus.infra.nattable/META-INF/MANIFEST.MF
@@ -35,6 +35,7 @@ Export-Package: org.eclipse.papyrus.infra.nattable,
org.eclipse.papyrus.infra.nattable.messages,
org.eclipse.papyrus.infra.nattable.nattableconfiguration,
org.eclipse.papyrus.infra.nattable.painter,
+ org.eclipse.papyrus.infra.nattable.paste,
org.eclipse.papyrus.infra.nattable.provider,
org.eclipse.papyrus.infra.nattable.reorder,
org.eclipse.papyrus.infra.nattable.tester,
diff --git a/extraplugins/table/org.eclipse.papyrus.infra.nattable/plugin.xml b/extraplugins/table/org.eclipse.papyrus.infra.nattable/plugin.xml
index b7c7d90cc9b..eede999b073 100644
--- a/extraplugins/table/org.eclipse.papyrus.infra.nattable/plugin.xml
+++ b/extraplugins/table/org.eclipse.papyrus.infra.nattable/plugin.xml
@@ -6,6 +6,7 @@
<extension-point id="org.eclipse.papyrus.infra.nattable.celleditor.configuration" name="CellEditorConfiguration" schema="schema/org.eclipse.papyrus.infra.nattable.celleditor.configuration.exsd"/>
<extension-point id="org.eclipse.papyrus.infra.nattable.configuration" name="Nattable Configuration" schema="schema/org.eclipse.papyrus.infra.nattable.configuration.exsd"/>
<extension-point id="org.eclipse.papyrus.infra.nattable.tester" name="Table Tester" schema="schema/org.eclipse.papyrus.infra.nattable.tester.exsd"/>
+ <extension-point id="org.eclipse.papyrus.infra.nattable.paste.postactions" name="Paste Post Actions" schema="schema/org.eclipse.papyrus.infra.nattable.paste.postactions.exsd"/>
<extension
point="org.eclipse.ui.menus">
<menuContribution
diff --git a/extraplugins/table/org.eclipse.papyrus.infra.nattable/schema/org.eclipse.papyrus.infra.nattable.paste.postactions.exsd b/extraplugins/table/org.eclipse.papyrus.infra.nattable/schema/org.eclipse.papyrus.infra.nattable.paste.postactions.exsd
new file mode 100644
index 00000000000..b8ba375bb66
--- /dev/null
+++ b/extraplugins/table/org.eclipse.papyrus.infra.nattable/schema/org.eclipse.papyrus.infra.nattable.paste.postactions.exsd
@@ -0,0 +1,114 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.papyrus.infra.nattable" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+ <appinfo>
+ <meta.schema plugin="org.eclipse.papyrus.infra.nattable" id="org.eclipse.papyrus.infra.nattable.paste.postactions" name="Paste Post Actions"/>
+ </appinfo>
+ <documentation>
+ An extension point to register java paste action done after the creation of the pasted element
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <annotation>
+ <appinfo>
+ <meta.element />
+ </appinfo>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element ref="postAction" minOccurs="1" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="point" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="id" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appinfo>
+ <meta.attribute translatable="true"/>
+ </appinfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="postAction">
+ <complexType>
+ <attribute name="postActionClass" type="string" use="required">
+ <annotation>
+ <documentation>
+ This field allows to register the post action
+ </documentation>
+ <appinfo>
+ <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.infra.nattable.paste.IPastPosteAction"/>
+ </appinfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="since"/>
+ </appinfo>
+ <documentation>
+ MDT papyrus 0.10.0
+ </documentation>
+ </annotation>
+
+
+ <annotation>
+ <appinfo>
+ <meta.section type="apiinfo"/>
+ </appinfo>
+ <documentation>
+ See Papyrus nattable plugins
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="implementation"/>
+ </appinfo>
+ <documentation>
+ none
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="copyright"/>
+ </appinfo>
+ <documentation>
+ /*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+ </documentation>
+ </annotation>
+
+</schema>
diff --git a/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/cell/AbstractCellManager.java b/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/cell/AbstractCellManager.java
index 3770bbe18ec..e24a9c648e4 100644
--- a/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/cell/AbstractCellManager.java
+++ b/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/cell/AbstractCellManager.java
@@ -179,4 +179,35 @@ public abstract class AbstractCellManager implements ICellManager {
return converter;
}
+ /**
+ *
+ * @see org.eclipse.papyrus.infra.nattable.manager.cell.ICellManager#isCellEditable(java.lang.Object, java.lang.Object, java.util.Map)
+ *
+ * @param columnElement
+ * @param rowElement
+ * @param sharedMap
+ * @return
+ */
+ @Override
+ public boolean isCellEditable(final Object columnElement, final Object rowElement, final Map<?, ?> sharedMap) {
+ return isCellEditable(columnElement, rowElement);
+ }
+
+ /**
+ *
+ * @see org.eclipse.papyrus.infra.nattable.manager.cell.ICellManager#setStringValue(java.lang.Object, java.lang.Object, java.lang.String,
+ * org.eclipse.papyrus.infra.tools.converter.AbstractStringValueConverter,
+ * org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager, java.util.Map)
+ *
+ * @param columnElement
+ * @param rowElement
+ * @param valueAsString
+ * @param valueConverter
+ * @param tableManager
+ * @param sharedMap
+ */
+ @Override
+ public void setStringValue(Object columnElement, Object rowElement, String valueAsString, AbstractStringValueConverter valueConverter, INattableModelManager tableManager, Map<?, ?> sharedMap) {
+ //do nothing
+ }
}
diff --git a/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/cell/CellManagerFactory.java b/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/cell/CellManagerFactory.java
index 23139eaab24..fee12d8dd48 100644
--- a/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/cell/CellManagerFactory.java
+++ b/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/cell/CellManagerFactory.java
@@ -208,4 +208,51 @@ public final class CellManagerFactory {
}
return null;
}
+
+ /**
+ * This method is used when we are pasting elements in detached mode
+ *
+ * @param columnElement
+ * the column element
+ * @param rowElement
+ * the row element
+ * @param valueAsString
+ * the value as string
+ * @param valueConverter
+ * the value converter to use
+ * @param tableManager
+ * the table manager
+ * @param sharedMap
+ * a map with shared elements. The method may read/add elements to the shared map. These contributions will be managed by a paste post
+ * action or by the paste manager itself
+ */
+ public void setStringValue(final Object columnElement, final Object rowElement, final String valueAsString, final AbstractStringValueConverter valueConverter, final INattableModelManager tableManager, final Map<?, ?> sharedMap) {
+ final ICellManager cellManager = getCellManager(columnElement, rowElement);
+ if(cellManager != null) {
+ cellManager.setStringValue(columnElement, rowElement, valueAsString, valueConverter, tableManager, sharedMap);
+ } else {
+ throw new UnsupportedOperationException(CELL_MANAGER_NOT_FOUND);
+ }
+ }
+
+ /**
+ *
+ * @param columnElement
+ * the column element
+ * @param rowElement
+ * the row element
+ * @param sharedMap
+ * a map with shared elements
+ * @return
+ * <code>true</code> if the cell is editable
+ */
+ public boolean isCellEditable(final Object columnElement, final Object rowElement, final Map<?, ?> sharedMap) {
+ final ICellManager cellManager = getCellManager(columnElement, rowElement);
+ if(cellManager != null) {
+ return cellManager.isCellEditable(columnElement, rowElement, sharedMap);
+ }
+ return false;
+
+ }
+
}
diff --git a/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/cell/ICellManager.java b/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/cell/ICellManager.java
index 996ce99528c..f239a73bd7c 100644
--- a/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/cell/ICellManager.java
+++ b/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/cell/ICellManager.java
@@ -130,5 +130,39 @@ public interface ICellManager {
* @return
* the class to use to converter the string into values. If the method create them, the method must add it to the map existingConverters
*/
- public AbstractStringValueConverter getOrCreateStringValueConverterClass(INattableModelManager tableManager, final Map<Class<? extends AbstractStringValueConverter>, AbstractStringValueConverter> existingConverters, String multiValueSeparator);
+ public AbstractStringValueConverter getOrCreateStringValueConverterClass(INattableModelManager tableManager, final Map<Class<? extends AbstractStringValueConverter>, AbstractStringValueConverter> existingConverters, final String multiValueSeparator);
+
+ /**
+ * This method is used when we are pasting element in detached mode
+ *
+ * @param columnElement
+ * the column element as described in the model (you must ignore the invert axis)
+ * @param rowElement
+ * the row element as described in the model (you must ignore the invert axis)
+ * @param sharedMap
+ * a map with shared elements
+ * @return
+ * <code>true</code> if the intersection of the 2 objects is editable
+ */
+ public boolean isCellEditable(final Object columnElement, final Object rowElement, final Map<?, ?> sharedMap);
+
+ /**
+ * This method is used when we are pasting elements in detached mode
+ *
+ * @param columnElement
+ * the column element
+ * @param rowElement
+ * the row element
+ * @param valueAsString
+ * the value as string
+ * @param valueConverter
+ * the value converter to use
+ * @param tableManager
+ * the table manager
+ * @param sharedMap
+ * a map with shared elements. The method may read/add elements to the shared map. These contributions will be managed by a paste post
+ * action or by the paste manager itself
+ *
+ */
+ public void setStringValue(final Object columnElement, final Object rowElement, final String valueAsString, final AbstractStringValueConverter valueConverter, final INattableModelManager tableManager, final Map<?, ?> sharedMap);
}
diff --git a/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/table/NattableModelManager.java b/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/table/NattableModelManager.java
index f0ea9b0f22a..7286d901638 100644
--- a/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/table/NattableModelManager.java
+++ b/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/table/NattableModelManager.java
@@ -60,7 +60,6 @@ import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisprovider.IM
import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisprovider.ISlaveAxisProvider;
import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisprovider.NattableaxisproviderPackage;
import org.eclipse.papyrus.infra.nattable.model.nattable.nattablecell.Cell;
-import org.eclipse.papyrus.infra.nattable.model.nattable.nattablecell.ICellAxisWrapper;
import org.eclipse.papyrus.infra.nattable.model.nattable.nattableconfiguration.CellEditorDeclaration;
import org.eclipse.papyrus.infra.nattable.model.nattable.nattableconfiguration.NattableconfigurationPackage;
import org.eclipse.papyrus.infra.nattable.model.nattable.nattablelabelprovider.FeatureLabelProviderConfiguration;
@@ -1177,17 +1176,17 @@ public class NattableModelManager extends AbstractNattableWidgetManager implemen
*/
public Cell getCell(final Object columnElement, final Object rowElement) {
//FIXME : improve this methods, with a HashMap synchronized on the EMF-Model!
- for(final Cell current : getTable().getCells()) {
- final ICellAxisWrapper rowWrapper = current.getRowWrapper();
- final ICellAxisWrapper columnWrapper = current.getColumnWrapper();
-
- if(rowWrapper.getElement().equals(AxisUtils.getRepresentedElement(rowElement)) && AxisUtils.getRepresentedElement(columnElement).equals(columnWrapper.getElement())) {
- return current;
- }
- //FIXME : several others case to manage
- //FIXME : (replacement of an EObject by an IAxis)
- //FIXME : replacement of an IAxis by its EObject
- }
+ // for(final Cell current : getTable().getCells()) {
+ // final ICellAxisWrapper rowWrapper = current.getRowWrapper();
+ // final ICellAxisWrapper columnWrapper = current.getColumnWrapper();
+ //
+ // if(rowWrapper.getElement().equals(AxisUtils.getRepresentedElement(rowElement)) && AxisUtils.getRepresentedElement(columnElement).equals(columnWrapper.getElement())) {
+ // return current;
+ // }
+ // //FIXME : several others case to manage
+ // //FIXME : (replacement of an EObject by an IAxis)
+ // //FIXME : replacement of an IAxis by its EObject
+ // }
return null;
}
diff --git a/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/messages/Messages.java b/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/messages/Messages.java
index 48dd813dba3..46ec98077c1 100644
--- a/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/messages/Messages.java
+++ b/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/messages/Messages.java
@@ -167,6 +167,26 @@ public class Messages extends NLS {
public static String LoadCurrentAxisProvidersDialog_3;
+ public static String PasteEObjectAxisInTableCommandProvider_AddingElementToTheTable;
+
+ public static String PasteEObjectAxisInTableCommandProvider_CommandCreationHasBeenCancelled;
+
+ public static String PasteEObjectAxisInTableCommandProvider_CreatingAnumberXonY;
+
+ public static String PasteEObjectAxisInTableCommandProvider_DoingAdditionalActions;
+
+ public static String PasteEObjectAxisInTableCommandProvider_FinishingThePaste;
+
+ public static String PasteEObjectAxisInTableCommandProvider_LinkingReferencesToTheModel;
+
+ public static String PasteEObjectAxisInTableCommandProvider_PasteAction;
+
+ public static String PasteEObjectAxisInTableCommandProvider_PasteColumns;
+
+ public static String PasteEObjectAxisInTableCommandProvider_PasteFromStringCommand;
+
+ public static String PasteEObjectAxisInTableCommandProvider_PasteRows;
+
public static String PasteInPapyrusTableCommandProvider_0;
public static String PasteInPapyrusTableCommandProvider_1;
diff --git a/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/messages/messages.properties b/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/messages/messages.properties
index 64e746131e0..b3659ba6063 100644
--- a/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/messages/messages.properties
+++ b/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/messages/messages.properties
@@ -72,6 +72,16 @@ LoadCurrentAxisProvidersDialog_0=Name
LoadCurrentAxisProvidersDialog_1=Description
LoadCurrentAxisProvidersDialog_2=Columns
LoadCurrentAxisProvidersDialog_3=\ (current)
+PasteEObjectAxisInTableCommandProvider_AddingElementToTheTable=Adding Elements To The table
+PasteEObjectAxisInTableCommandProvider_CommandCreationHasBeenCancelled=Command creation has been cancelled
+PasteEObjectAxisInTableCommandProvider_CreatingAnumberXonY=\ Creating {0} number {1}/{2}
+PasteEObjectAxisInTableCommandProvider_DoingAdditionalActions=Doing additional actions
+PasteEObjectAxisInTableCommandProvider_FinishingThePaste=Finishing the paste
+PasteEObjectAxisInTableCommandProvider_LinkingReferencesToTheModel=Linking references to the model
+PasteEObjectAxisInTableCommandProvider_PasteAction=Paste Action
+PasteEObjectAxisInTableCommandProvider_PasteColumns=Paste Columns
+PasteEObjectAxisInTableCommandProvider_PasteFromStringCommand=Paste from String Command
+PasteEObjectAxisInTableCommandProvider_PasteRows=Paste Rows
PasteInPapyrusTableCommandProvider_0=The String {0} is not valid to create a {1}.
PasteInPapyrusTableCommandProvider_1=Paste Command In FlowPort Table
PasteInPapyrusTableCommandProvider_2=Create Paste Action
diff --git a/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/paste/IPastePostAction.java b/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/paste/IPastePostAction.java
new file mode 100644
index 00000000000..de8cabea802
--- /dev/null
+++ b/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/paste/IPastePostAction.java
@@ -0,0 +1,68 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.nattable.paste;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+
+/**
+ * Common interface for paste post actions
+ *
+ * @author vl222926
+ *
+ */
+
+public interface IPastePostAction {
+
+ /**
+ *
+ * @param postActionId
+ * the id of the post action
+ * @return
+ * <code>true</code> if this id is managed by the PostAction
+ */
+ public boolean accept(final String postActionId);
+
+ /**
+ * This method will be called one time by new pasted axis
+ *
+ * @param tableManager
+ * the table manager
+ * @param postActionId
+ * the post action id
+ * @param editedElement
+ * the edited element
+ * @param sharedMap
+ * the map where the class managing the paste and the set value can store interesting information
+ *
+ *
+ *
+ */
+ public void doPostAction(final INattableModelManager tableManager, final String postActionId, final Object editedElement, final Map<Object, Object> sharedMap);
+
+
+ /**
+ * This method will be called one time, at the end of the paste action
+ *
+ * @param tableManager
+ * the table manager
+ * @param postActionId
+ * the post action id
+ * @param sharedMap
+ * the map where the class managing the paste and the set value can store interesting information
+ */
+ public void doAfterAddPastedElementCommand(final INattableModelManager tableManager, final String postActionId, final Map<Object, Object> sharedMap);
+
+}
diff --git a/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/paste/PastePostActionRegistry.java b/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/paste/PastePostActionRegistry.java
new file mode 100644
index 00000000000..ade76708df6
--- /dev/null
+++ b/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/paste/PastePostActionRegistry.java
@@ -0,0 +1,124 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.nattable.paste;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.papyrus.infra.nattable.Activator;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+
+/**
+ * The Paste Post Action registry
+ *
+ * @author vl222926
+ *
+ */
+public final class PastePostActionRegistry {
+
+
+ private static final String CLASS_MANAGER = "postActionClass"; //$NON-NLS-1$
+
+ private static final String EXTENSION_ID = "org.eclipse.papyrus.infra.nattable.paste.postactions"; //$NON-NLS-1$
+
+
+ private final Collection<IPastePostAction> postActions;
+
+ /**
+ * The cell manager factory
+ */
+ public static final PastePostActionRegistry INSTANCE = new PastePostActionRegistry();
+
+ /**
+ *
+ * Constructor.
+ * Initialize the field of the class
+ */
+ private PastePostActionRegistry() {
+ this.postActions = new ArrayList<IPastePostAction>();
+ final IConfigurationElement[] configElements = Platform.getExtensionRegistry().getConfigurationElementsFor(EXTENSION_ID);
+
+ for(final IConfigurationElement iConfigurationElement : configElements) {
+ try {
+ final IPastePostAction solver = (IPastePostAction)iConfigurationElement.createExecutableExtension(CLASS_MANAGER);
+ this.postActions.add(solver);
+ } catch (final CoreException e) {
+ Activator.log.error(e);
+ }
+ }
+ }
+
+ /**
+ *
+ * @param tableManager
+ * the table manager
+ * @param postActionId
+ * the post action id
+ * @param tableContext
+ * @param objectToEdit
+ * the object to edit
+ * @param sharedMap
+ * the map where the class managing the paste and the set value can store interesting information
+ * @param axisAsString
+ *
+ */
+ public void doPostAction(final INattableModelManager tableManager, final String postActionId, final EObject tableContext, final Object objectToEdit, final Map<Object, Object> sharedMap, final String axisAsString) {
+ final IPastePostAction postAction = getPostAction(postActionId);
+ if(postAction != null) {
+ postAction.doPostAction(tableManager, postActionId, objectToEdit, sharedMap);
+ } else {
+ Activator.log.warn(NLS.bind("No Manager were found to manage {0}", postActionId)); //$NON-NLS-1$
+ }
+ }
+
+ /**
+ *
+ * @param tableManager
+ * the table manager
+ * @param postActionId
+ * the id of the post action
+ * @param sharedMap
+ * the map where the class managing the paste and the set value can store interesting information
+ */
+ public void doAfterAddPastedElementCommand(final INattableModelManager tableManager, final String postActionId, final Map<Object, Object> sharedMap) {
+ final IPastePostAction postAction = getPostAction(postActionId);
+ if(postAction != null) {
+ postAction.doAfterAddPastedElementCommand(tableManager, postActionId, sharedMap);
+ } else {
+ Activator.log.warn(NLS.bind("No Manager were found to manage {0}", postActionId)); //$NON-NLS-1$
+ }
+
+ }
+
+ /**
+ *
+ * @param postActionId
+ * @return
+ * the post action managing this id
+ */
+ private IPastePostAction getPostAction(final String postActionId) {
+ for(final IPastePostAction current : this.postActions) {
+ if(current.accept(postActionId)) {
+ return current;
+ }
+ }
+ return null;
+ }
+}
diff --git a/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/paste/ReferenceValueSetter.java b/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/paste/ReferenceValueSetter.java
new file mode 100644
index 00000000000..d4c832b7afe
--- /dev/null
+++ b/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/paste/ReferenceValueSetter.java
@@ -0,0 +1,103 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.nattable.paste;
+
+import java.util.Collection;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.edit.command.AddCommand;
+import org.eclipse.emf.edit.command.SetCommand;
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+/**
+ * A structure which is used to store values to set for a given feature and a given object
+ *
+ * @author vl222926
+ *
+ */
+public class ReferenceValueSetter {
+
+ /**
+ * the feature to edit
+ */
+ private final EReference eReference;
+
+ /**
+ * the edited object
+ */
+ private final EObject editedObject;
+
+ /**
+ * the new value
+ */
+ private final Object value;
+
+ /**
+ * if true, the current value will be erased
+ */
+ private final boolean eraseExistingMultiValueValue;
+
+ /**
+ *
+ * Constructor.
+ *
+ * @param editedObject
+ * the edited object
+ * @param feature
+ * the edited feature
+ * @param value
+ * the value for this feature. If the feature is multivalued, the newValue will be added to the existing value
+ */
+ public ReferenceValueSetter(final EObject editedObject, final EReference feature, final Object value) {
+ this(editedObject, feature, value, false);
+ }
+
+ /**
+ *
+ * Constructor.
+ *
+ * @param editedObject
+ * the edited object
+ * @param feature
+ * the edited feature
+ * @param tutu
+ * the value for this feature.
+ * @param eraseExistingMultiValueValue
+ * if <code>true</code>, in case of multivalued references, the current value will be replaced by {@code tutu} , if <code>false</code> we
+ * will add {@code tutu} to the current value
+ * , will be added to the current value
+ */
+ public ReferenceValueSetter(final EObject editedObject, final EReference feature, final Object tutu, final boolean eraseExistingMultiValueValue) {
+ this.eReference = feature;
+ this.editedObject = editedObject;
+ this.value = tutu;
+ this.eraseExistingMultiValueValue = eraseExistingMultiValueValue;
+ }
+
+ /**
+ * set the value of the reference
+ *
+ * @param domain
+ * the editing domain used to do the action
+ */
+ public void setReferenceValue(final EditingDomain domain) {
+ if(this.eReference.isMany() && !this.eraseExistingMultiValueValue && this.value instanceof Collection<?>) {
+ Collection<?> collection = (Collection<?>)value;
+ AddCommand.create(domain, editedObject, eReference, collection).execute();
+ } else {
+ SetCommand.create(domain, editedObject, eReference, value).execute();
+ }
+ }
+}
diff --git a/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/provider/PasteEObjectAxisInTableCommandProvider.java b/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/provider/PasteEObjectAxisInTableCommandProvider.java
index 65fa42fd1a8..f60d55b811a 100644
--- a/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/provider/PasteEObjectAxisInTableCommandProvider.java
+++ b/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/provider/PasteEObjectAxisInTableCommandProvider.java
@@ -13,6 +13,8 @@
*****************************************************************************/
package org.eclipse.papyrus.infra.nattable.provider;
+import java.util.ArrayList;
+import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
@@ -28,9 +30,12 @@ import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.emf.common.command.Command;
import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EFactory;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.command.AddCommand;
import org.eclipse.emf.transaction.TransactionalEditingDomain;
import org.eclipse.gmf.runtime.common.core.command.CommandResult;
import org.eclipse.gmf.runtime.common.core.command.ICommand;
@@ -39,15 +44,21 @@ import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
import org.eclipse.gmf.runtime.emf.type.core.IElementType;
import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
import org.eclipse.osgi.util.NLS;
-import org.eclipse.papyrus.commands.wrappers.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.commands.CheckedOperationHistory;
import org.eclipse.papyrus.infra.nattable.Activator;
import org.eclipse.papyrus.infra.nattable.manager.cell.CellManagerFactory;
import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.messages.Messages;
+import org.eclipse.papyrus.infra.nattable.model.nattable.NattablePackage;
import org.eclipse.papyrus.infra.nattable.model.nattable.Table;
import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.NattableaxisconfigurationPackage;
import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.PasteEObjectConfiguration;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablecell.Cell;
+import org.eclipse.papyrus.infra.nattable.paste.PastePostActionRegistry;
+import org.eclipse.papyrus.infra.nattable.paste.ReferenceValueSetter;
import org.eclipse.papyrus.infra.nattable.utils.AxisConfigurationUtils;
import org.eclipse.papyrus.infra.nattable.utils.AxisUtils;
+import org.eclipse.papyrus.infra.nattable.utils.Constants;
import org.eclipse.papyrus.infra.nattable.utils.PasteModeEnumeration;
import org.eclipse.papyrus.infra.nattable.utils.TableClipboardUtils;
import org.eclipse.papyrus.infra.nattable.utils.TableEditingDomainUtils;
@@ -87,10 +98,34 @@ public class PasteEObjectAxisInTableCommandProvider {
private PasteModeEnumeration pasteMode;
/**
+ * if true, we are pasting in detached mode
+ */
+ private boolean detachedMode;
+
+ /**
+ * the list of the post actions do do
+ */
+ private List<String> postActions;
+
+ /**
* the copnverter map
*/
private Map<Class<? extends AbstractStringValueConverter>, AbstractStringValueConverter> existingConverters;
+ private static final String PASTE_ACTION_TASK_NAME = Messages.PasteEObjectAxisInTableCommandProvider_PasteAction;
+
+ private static final String PASTE_ROWS_JOB_NAME = Messages.PasteEObjectAxisInTableCommandProvider_PasteRows;
+
+ private static final String PASTE_COLUMNS_JOB_NAME = Messages.PasteEObjectAxisInTableCommandProvider_PasteColumns;
+
+ private static final String PASTE_COMMAND_HAS_BEEN_CANCELLED = Messages.PasteEObjectAxisInTableCommandProvider_CommandCreationHasBeenCancelled;
+
+ private static final String PASTE_COMMAND_CANT_BE_EXECUTED = "The Paste command can't be executed"; //$NON-NLS-1$
+
+ private static final String PASTE_COMMAND_NAME = Messages.PasteEObjectAxisInTableCommandProvider_PasteFromStringCommand;
+
+ private static final String CREATING_ELEMENT_A_NUMBER_X_Y = Messages.PasteEObjectAxisInTableCommandProvider_CreatingAnumberXonY;
+
/**
*
* Constructor.
@@ -118,7 +153,7 @@ public class PasteEObjectAxisInTableCommandProvider {
if(pasteMode == PasteModeEnumeration.PASTE_EOBJECT_ROW_OR_COLUMN) {
pasteMode = askWhichPasteModeDo();
}
- Assert.isTrue(pasteMode != PasteModeEnumeration.CANT_PASTE, "The paste can't be done");
+ Assert.isTrue(pasteMode != PasteModeEnumeration.CANT_PASTE, "The paste can't be done"); //$NON-NLS-1$
PasteEObjectConfiguration configuration = null;
switch(pasteMode) {
case PASTE_EOBJECT_COLUMN:
@@ -132,28 +167,101 @@ public class PasteEObjectAxisInTableCommandProvider {
}
this.containmentFeature = configuration.getPasteElementContainementFeature();
this.typeToCreate = ElementTypeRegistry.getInstance().getType(configuration.getPastedElementId());
+ this.postActions = configuration.getPostActions();
+ this.detachedMode = configuration.isDetachedMode();
}
/**
*
* @param useProgressMonitor
* boolean indicating that we must do the paste with a progress monitor
+ * FIXME : post actions are not yet supported in the in the detached mode
*/
public void executePasteFromStringCommand(final boolean useProgressMonitor) {
final String pasteJobName;
if(pasteMode == PasteModeEnumeration.PASTE_EOBJECT_COLUMN) {
- pasteJobName = "Paste Columns";
+ pasteJobName = PASTE_COLUMNS_JOB_NAME;
+ } else {
+ pasteJobName = PASTE_ROWS_JOB_NAME;
+ }
+ if(this.detachedMode) {
+ executePasteFromStringCommandInDetachedMode(useProgressMonitor, pasteJobName);
} else {
- pasteJobName = "Paste Rows";
+ executePasteFromStringCommandInAttachedMode(useProgressMonitor, pasteJobName);
+ }
+ }
+
+ /**
+ *
+ * @param useProgressMonitor
+ * boolean indicating that we must do the paste with a progress monitor
+ */
+ protected void executePasteFromStringCommandInDetachedMode(final boolean useProgressMonitor, final String pasteJobName) {
+ Table table = tableManager.getTable();
+ final TransactionalEditingDomain tableEditingDomain = TableEditingDomainUtils.getTableEditingDomain(table);
+ final TransactionalEditingDomain contextEditingDomain = TableEditingDomainUtils.getTableContextEditingDomain(table);
+
+ //the map used to share objects between the paste action and the cell value managers
+ final Map<Object, Object> sharedMap = new HashMap<Object, Object>();
+ if(!useProgressMonitor) {
+ final ICommand pasteCommand = getPasteFromFromStringCommandInDetachedMode(contextEditingDomain, tableEditingDomain, new NullProgressMonitor(), sharedMap);
+ try {
+ CheckedOperationHistory.getInstance().execute(pasteCommand, new NullProgressMonitor(), null);
+ } catch (ExecutionException e) {
+ Activator.log.error(e);
+ }
+ sharedMap.clear();
+ } else {
+ //we create a job in order to don't freeze the UI
+ final Job job = new Job(pasteJobName) {
+
+ @Override
+ protected IStatus run(IProgressMonitor monitor) {
+
+ final ICommand pasteCommand = getPasteFromFromStringCommandInDetachedMode(contextEditingDomain, tableEditingDomain, monitor, sharedMap);
+ if(pasteCommand == null) {
+ return new Status(IStatus.CANCEL, Activator.PLUGIN_ID, PASTE_COMMAND_HAS_BEEN_CANCELLED);
+ }
+ //we execute the paste command
+ if(pasteCommand.canExecute()) {
+ try {
+ CheckedOperationHistory.getInstance().execute(pasteCommand, monitor, null);
+ } catch (ExecutionException e) {
+ return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "An exception occured during the paste", e); //$NON-NLS-1$
+ } finally {
+ sharedMap.clear();
+ }
+ monitor.done();
+ return Status.OK_STATUS;
+ } else {
+ sharedMap.clear();
+ return new Status(IStatus.ERROR, Activator.PLUGIN_ID, PASTE_COMMAND_CANT_BE_EXECUTED);
+ }
+ }
+ };
+ job.setUser(true);
+ job.schedule();
}
+ }
+
+ /**
+ *
+ * @param useProgressMonitor
+ * boolean indicating that we must do the paste with a progress monitor
+ */
+ protected void executePasteFromStringCommandInAttachedMode(final boolean useProgressMonitor, final String pasteJobName) {
Table table = tableManager.getTable();
final TransactionalEditingDomain tableEditingDomain = TableEditingDomainUtils.getTableEditingDomain(table);
final TransactionalEditingDomain contextEditingDomain = TableEditingDomainUtils.getTableContextEditingDomain(table);
if(!useProgressMonitor) {
- final Command pasteCommand = getPasteFromFromStringCommand(contextEditingDomain, tableEditingDomain, new NullProgressMonitor());
- contextEditingDomain.getCommandStack().execute(pasteCommand);
+ final ICommand pasteCommand = getPasteFromFromStringCommand(contextEditingDomain, tableEditingDomain, new NullProgressMonitor());
+ try {
+ CheckedOperationHistory.getInstance().execute(pasteCommand, new NullProgressMonitor(), null);
+ } catch (ExecutionException e) {
+ Activator.log.error(e);
+ }
} else {
//we create a job in order to don't freeze the UI
final Job job = new Job(pasteJobName) {
@@ -161,17 +269,21 @@ public class PasteEObjectAxisInTableCommandProvider {
@Override
protected IStatus run(IProgressMonitor monitor) {
- final Command pasteCommand = getPasteFromFromStringCommand(contextEditingDomain, tableEditingDomain, monitor);
+ final ICommand pasteCommand = getPasteFromFromStringCommand(contextEditingDomain, tableEditingDomain, monitor);
if(pasteCommand == null) {
- return new Status(IStatus.CANCEL, Activator.PLUGIN_ID, "Command creation has been cancelled");
+ return new Status(IStatus.CANCEL, Activator.PLUGIN_ID, PASTE_COMMAND_HAS_BEEN_CANCELLED);
}
//we execute the paste command
if(pasteCommand.canExecute()) {
- contextEditingDomain.getCommandStack().execute(pasteCommand);
+ try {
+ CheckedOperationHistory.getInstance().execute(pasteCommand, monitor, null);
+ } catch (ExecutionException e) {
+ return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "An exception occured during the paste", e); //$NON-NLS-1$
+ }
monitor.done();
return Status.OK_STATUS;
} else {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "The Paste command can't be executed");
+ return new Status(IStatus.ERROR, Activator.PLUGIN_ID, PASTE_COMMAND_CANT_BE_EXECUTED);
}
}
};
@@ -182,15 +294,19 @@ public class PasteEObjectAxisInTableCommandProvider {
/**
*
+ *
* @param commandCreationCancelProvider
* the creation command progress monitor
* @param commandExecutionProgressMonitor
* the command execution progress monitor
+ * @param sharedMap
+ * a map used to share objects and informations during the paste between this class and the cell value manager
+ *
* @return
+ * the command to use to finish the paste (the main part of the paste is directly done here)
*/
- protected Command getPasteFromFromStringCommand(final TransactionalEditingDomain contextEditingDomain, final TransactionalEditingDomain tableEditingDomain, final IProgressMonitor progressMonitor) {
+ protected ICommand getPasteFromFromStringCommandInDetachedMode(final TransactionalEditingDomain contextEditingDomain, final TransactionalEditingDomain tableEditingDomain, final IProgressMonitor progressMonitor, final Map<Object, Object> sharedMap) {
final Table table = this.tableManager.getTable();
- // final CompositeCommand cmd = new CompositeCommand("Paste from String Command");
final EObject tableContext = table.getContext();
final String[] axisToPaste;
@@ -210,15 +326,215 @@ public class PasteEObjectAxisInTableCommandProvider {
//initialize the progress monitor
final int nbActions = axisToPaste.length;
- progressMonitor.beginTask("Paste Action", nbActions);
+ progressMonitor.beginTask(PASTE_ACTION_TASK_NAME, nbActions + 1);//+1 to add the created elements to the table
+ //the list of the created elements
+ final List<Object> createdElements = new ArrayList<Object>();
+
+ //2.2 create the creation request and find the command provider
+ final EClass eClassToCreate = this.typeToCreate.getEClass();
+ final EFactory eFactory = eClassToCreate.getEPackage().getEFactoryInstance();
+ //the map used to store useful information for the paste
+ sharedMap.put(Constants.PASTED_ELEMENT_CONTAINER_KEY, tableContext);
+ sharedMap.put(Constants.REFERENCES_TO_SET_KEY, new ArrayList<ReferenceValueSetter>());
+ sharedMap.put(Constants.CELLS_TO_ADD_KEY, new ArrayList<Cell>());
+ //2.3 create the axis
+ int index = 1;
+ int moduloForRefresh = 1;
+ if(axisToPaste.length > 1000) {
+ moduloForRefresh = 100;
+ } else if(axisToPaste.length > 100) {
+ moduloForRefresh = 10;
+ }
+
+
+ for(final String currentAxisAsString : axisToPaste) {
+ if((progressMonitor != null) && progressMonitor.isCanceled()) {
+ //the user click on the cancel button
+ return null;
+ }
+ if(progressMonitor != null && index % moduloForRefresh == 0) {
+ progressMonitor.subTask(NLS.bind(CREATING_ELEMENT_A_NUMBER_X_Y, new Object[]{ typeToCreate.getEClass().getName(), index, axisToPaste.length + 1 }));
+ }
+ index++;
+ //2.3.1 we get the string values of the cells
+ final String[] cells = TableClipboardUtils.getCells(currentAxisAsString);
+
+ //2.3.3 we create the element itself
+ final EObject createdElement = eFactory.create(eClassToCreate);
+
+ createdElements.add(createdElement);
+
+ for(final String currentPostActions : this.postActions) {
+ PastePostActionRegistry.INSTANCE.doPostAction(this.tableManager, currentPostActions, tableContext, createdElement, sharedMap, currentAxisAsString);
+ }
+
+ //2.3.4 we set these properties values
+ for(int i = 0; i < secondAxis.size(); i++) {
+ final Object currentAxis = secondAxis.get(i);
+ final String valueAsString = cells[i];
+ final Object columnObject;
+ final Object rowObject;
+ if(pasteMode == PasteModeEnumeration.PASTE_EOBJECT_COLUMN) {
+ columnObject = createdElement;
+ rowObject = currentAxis;
+ } else {
+ columnObject = currentAxis;
+ rowObject = createdElement;
+ }
+
+
+ boolean isEditable = CellManagerFactory.INSTANCE.isCellEditable(columnObject, rowObject, sharedMap);
+ if(isEditable) {
+ final AbstractStringValueConverter converter = CellManagerFactory.INSTANCE.getOrCreateStringValueConverterClass(columnObject, rowObject, tableManager, existingConverters, TableClipboardUtils.MULTI_VALUE_SEPARATOR);
+ CellManagerFactory.INSTANCE.setStringValue(columnObject, rowObject, valueAsString, converter, tableManager, sharedMap);
+ }
+ }
+
+ //we update the progress monitor
+ if(progressMonitor != null && index % moduloForRefresh == 0) {
+ progressMonitor.worked(moduloForRefresh);
+ }
+ }
+
+
+
+
+ //2.4 we add the created elements to the table
+ final AbstractTransactionalCommand pasteCommand = new AbstractTransactionalCommand(tableEditingDomain, PASTE_COMMAND_NAME, null) {
+
+ @Override
+ protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+ //initialize lists
+ final Collection<String> postActions = getPostActions();
+ final List<Cell> cells = (List<Cell>)sharedMap.get(Constants.CELLS_TO_ADD_KEY);
+ final List<ReferenceValueSetter> referencesToSet = (List<ReferenceValueSetter>)sharedMap.get(Constants.REFERENCES_TO_SET_KEY);
+
+ int nbTasks = 1; //to add created elements to the model
+ nbTasks = nbTasks + 1; //to add createds elements to the table
+ nbTasks = nbTasks + postActions.size();//to do post actions after the attachment to the model
+ nbTasks = nbTasks + 1; //to attach the cells to the model
+ nbTasks = nbTasks + referencesToSet.size(); //to set the references values
+
+ if(progressMonitor != null) {
+ if(progressMonitor.isCanceled()) {
+ return CommandResult.newCancelledCommandResult();
+ }
+ progressMonitor.beginTask(Messages.PasteEObjectAxisInTableCommandProvider_FinishingThePaste, nbTasks);
+ }
+
+ //1. Add the elements to the context
+ AddCommand.create(contextEditingDomain, tableContext, containmentFeature, createdElements).execute();
+
+ if(progressMonitor != null) {
+ if(progressMonitor.isCanceled()) {
+ return CommandResult.newCancelledCommandResult();
+ }
+ progressMonitor.worked(1);
+ progressMonitor.subTask(Messages.PasteEObjectAxisInTableCommandProvider_AddingElementToTheTable);
+ }
+
+ Command cmd = null;
+ if(pasteMode == PasteModeEnumeration.PASTE_EOBJECT_COLUMN) {
+ cmd = tableManager.getAddColumnElementCommand(createdElements);
+ } else {
+ cmd = tableManager.getAddRowElementCommand(createdElements);
+ }
+ if(cmd != null) {//could be null
+ cmd.execute();
+ }
+
+ if(progressMonitor != null) {
+ if(progressMonitor.isCanceled()) {
+ return CommandResult.newCancelledCommandResult();
+ }
+ progressMonitor.worked(1);
+ progressMonitor.subTask(Messages.PasteEObjectAxisInTableCommandProvider_DoingAdditionalActions);
+ }
+
+
+ for(final String currentPostActions : postActions) {
+ PastePostActionRegistry.INSTANCE.doAfterAddPastedElementCommand(tableManager, currentPostActions, sharedMap);
+ progressMonitor.worked(1);
+ }
+
+ if(progressMonitor != null) {
+ if(progressMonitor.isCanceled()) {
+ return CommandResult.newCancelledCommandResult();
+ }
+ progressMonitor.worked(1);
+ }
+
+ //add the created cells to the table
+ AddCommand.create(tableEditingDomain, table, NattablePackage.eINSTANCE.getTable_Cells(), cells).execute();
+
+ if(progressMonitor != null) {
+ if(progressMonitor.isCanceled()) {
+ return CommandResult.newCancelledCommandResult();
+ }
+ progressMonitor.worked(1);
+ progressMonitor.subTask(Messages.PasteEObjectAxisInTableCommandProvider_LinkingReferencesToTheModel);
+ }
+
+ //we set the references
+
+ if(referencesToSet.size() > 0) {
+ for(final ReferenceValueSetter current : referencesToSet) {
+ current.setReferenceValue(contextEditingDomain);
+ if(progressMonitor != null) {
+ if(progressMonitor.isCanceled()) {
+ return CommandResult.newCancelledCommandResult();
+ }
+ progressMonitor.worked(1);
+ }
+ }
+ }
+ progressMonitor.done();
+ localDispose();
+ return CommandResult.newOKCommandResult();
+ }
+ };
+
+ return pasteCommand;
+ }
+ /**
+ *
+ * @param commandCreationCancelProvider
+ * the creation command progress monitor
+ * @param commandExecutionProgressMonitor
+ * the command execution progress monitor
+ * @return
+ */
+ protected ICommand getPasteFromFromStringCommand(final TransactionalEditingDomain contextEditingDomain, final TransactionalEditingDomain tableEditingDomain, final IProgressMonitor progressMonitor) {
+ final Table table = this.tableManager.getTable();
+ final EObject tableContext = table.getContext();
+
+ final String[] axisToPaste;
+ final List<Object> secondAxis;
+ switch(pasteMode) {
+ case PASTE_EOBJECT_COLUMN:
+ axisToPaste = TableClipboardUtils.getColumnsFromClipboard();
+ secondAxis = tableManager.getRowElementsList();
+ break;
+ case PASTE_EOBJECT_ROW:
+ axisToPaste = TableClipboardUtils.getRowsFromClipboard();
+ secondAxis = tableManager.getColumnElementsList();
+ break;
+ default:
+ throw new UnsupportedOperationException();
+ }
+
+ //initialize the progress monitor
+ final int nbActions = axisToPaste.length;
+ if(progressMonitor != null) {
+ progressMonitor.beginTask(PASTE_ACTION_TASK_NAME, nbActions);
+ }
//2.2 create the creation request and find the command provider
- final Boolean initializeName = mustInitializeName();
final CreateElementRequest createRequest = new CreateElementRequest(contextEditingDomain, table.getContext(), this.typeToCreate, (EReference)this.containmentFeature);
final IElementEditService tableContextCommandProvider = ElementEditServiceUtils.getCommandProvider(tableContext);
- final ICommand pasteAllCommand = new AbstractTransactionalCommand(contextEditingDomain, "Paste Command", null) {
+ final ICommand pasteAllCommand = new AbstractTransactionalCommand(contextEditingDomain, PASTE_COMMAND_NAME, null) {
/**
@@ -233,14 +549,22 @@ public class PasteEObjectAxisInTableCommandProvider {
*/
@Override
protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+ int moduloForRefresh = 1;
+ if(axisToPaste.length > 1000) {
+ moduloForRefresh = 100;
+ } else if(axisToPaste.length > 100) {
+ moduloForRefresh = 10;
+ }
for(int i = 0; i < axisToPaste.length; i++) {
final String currentAxisAsString = axisToPaste[i];
- if(progressMonitor.isCanceled()) {
+ if(progressMonitor != null && progressMonitor.isCanceled()) {
progressMonitor.done();
localDispose();
return CommandResult.newCancelledCommandResult();
}
- progressMonitor.subTask(NLS.bind("Creating {0} number {1}/{2}", new Object[]{ typeToCreate.getDisplayName(), i, axisToPaste.length }));
+ if(progressMonitor != null && i % moduloForRefresh == 0) {
+ progressMonitor.subTask(NLS.bind(CREATING_ELEMENT_A_NUMBER_X_Y, new Object[]{ typeToCreate.getDisplayName(), i, axisToPaste.length }));
+ }
final ICommand commandCreation = tableContextCommandProvider.getEditCommand(createRequest);
if(commandCreation.canExecute()) {
//1. we create the element
@@ -287,22 +611,22 @@ public class PasteEObjectAxisInTableCommandProvider {
if(setValueCommand != null && setValueCommand.canExecute()) {
setValueCommand.execute();
setValueCommand.dispose();
- } else {
- //FIXME?
}
}
}
- progressMonitor.worked(1);
+ //we update the progress monitor
+ if(progressMonitor != null && i % moduloForRefresh == 0) {
+ progressMonitor.worked(moduloForRefresh);
+ }
}
-
}
progressMonitor.done();
localDispose();
return CommandResult.newOKCommandResult();
}
};
- return new GMFtoEMFCommandWrapper(pasteAllCommand);
+ return pasteAllCommand;
}
@@ -321,7 +645,7 @@ public class PasteEObjectAxisInTableCommandProvider {
}
for(Object object : existingColumns) {
Object current = AxisUtils.getRepresentedElement(object);
- if(current instanceof EAttribute && ((EAttribute)current).getName().equals("name")) {
+ if(current instanceof EAttribute && ((EAttribute)current).getName().equals("name")) { //$NON-NLS-1$
return Boolean.FALSE;
}
}
@@ -338,6 +662,15 @@ public class PasteEObjectAxisInTableCommandProvider {
throw new UnsupportedOperationException();
}
+ /**
+ *
+ * @return
+ * the list of the post actions to do
+ */
+ private Collection<String> getPostActions() {
+ return this.postActions;
+ }
+
private void localDispose() {
this.tableManager = null;
this.typeToCreate = null;
diff --git a/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/utils/Constants.java b/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/utils/Constants.java
index 69ecc790412..0517e316ab6 100644
--- a/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/utils/Constants.java
+++ b/extraplugins/table/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/utils/Constants.java
@@ -54,4 +54,18 @@ public class Constants {
*/
public static final String SORT_COMMAND_PARAMETER = "org.eclipse.papyrus.infra.nattable.sort.command.alphabetic.order.parameter";
+ /**
+ * the key used to store the container of the pasted element in a map
+ */
+ public static final String PASTED_ELEMENT_CONTAINER_KEY = "pastedElementContainer";
+
+ /**
+ * the key used to store the references to set after to have attached the pasted element to the model
+ */
+ public static final String REFERENCES_TO_SET_KEY = "referencesToSet";
+
+ /**
+ * the key used to store the cells to attached to the model
+ */
+ public static final String CELLS_TO_ADD_KEY = "cellsToAdd";
}
diff --git a/extraplugins/table/org.eclipse.papyrus.sysml.nattable/src/org/eclipse/papyrus/sysml/nattable/manager/cell/SysMLStereotypePropertyCellManager.java b/extraplugins/table/org.eclipse.papyrus.sysml.nattable/src/org/eclipse/papyrus/sysml/nattable/manager/cell/SysMLStereotypePropertyCellManager.java
index e5a9fa5645d..7fdbf1f20be 100644
--- a/extraplugins/table/org.eclipse.papyrus.sysml.nattable/src/org/eclipse/papyrus/sysml/nattable/manager/cell/SysMLStereotypePropertyCellManager.java
+++ b/extraplugins/table/org.eclipse.papyrus.sysml.nattable/src/org/eclipse/papyrus/sysml/nattable/manager/cell/SysMLStereotypePropertyCellManager.java
@@ -46,7 +46,7 @@ public class SysMLStereotypePropertyCellManager extends StereotypePropertyCellMa
@Override
public boolean handles(final Object columnElement, final Object rowElement) {
if(super.handles(columnElement, rowElement)) {
- final List<Object> objects = organizeAndResolvedObjects(columnElement, rowElement);
+ final List<Object> objects = organizeAndResolvedObjects(columnElement, rowElement, null);
if(objects.size() == 2) {
final EObject object = (EObject)objects.get(0);
if(object instanceof Port) {
@@ -72,7 +72,7 @@ public class SysMLStereotypePropertyCellManager extends StereotypePropertyCellMa
public boolean isCellEditable(final Object columnElement, final Object rowElement) {
boolean value = super.isCellEditable(columnElement, rowElement);
if(value) {
- final List<Object> objects = organizeAndResolvedObjects(columnElement, rowElement);
+ final List<Object> objects = organizeAndResolvedObjects(columnElement, rowElement, null);
if(objects.size() == 2) {
final EObject object = (EObject)objects.get(0);
if(matcher.matches(object)) {
diff --git a/extraplugins/table/org.eclipse.papyrus.uml.nattable/plugin.xml b/extraplugins/table/org.eclipse.papyrus.uml.nattable/plugin.xml
index 98af4996f13..bd02a0ecee9 100644
--- a/extraplugins/table/org.eclipse.papyrus.uml.nattable/plugin.xml
+++ b/extraplugins/table/org.eclipse.papyrus.uml.nattable/plugin.xml
@@ -82,5 +82,11 @@
class="org.eclipse.papyrus.uml.nattable.menu.CreateRowStereotypePropertyMenuFactory"
locationURI="popup:org.eclipse.ui.popup.any">
</menuContribution>
+ </extension>
+ <extension
+ point="org.eclipse.papyrus.infra.nattable.paste.postactions">
+ <postAction
+ postActionClass="org.eclipse.papyrus.uml.nattable.paste.ApplyStereotypePastePostAction">
+ </postAction>
</extension>
</plugin>
diff --git a/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/dataprovider/UMLSingleReferenceComboBoxDataProvider.java b/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/dataprovider/UMLSingleReferenceComboBoxDataProvider.java
index 8a92ef1c595..31c0225dbb3 100644
--- a/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/dataprovider/UMLSingleReferenceComboBoxDataProvider.java
+++ b/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/dataprovider/UMLSingleReferenceComboBoxDataProvider.java
@@ -137,7 +137,7 @@ public class UMLSingleReferenceComboBoxDataProvider implements IComboBoxDataProv
private List<EObject> getPossibleValuesForStereotypeProperty(final Element element, final String id) {
final List<EObject> availableValues = new ArrayList<EObject>();
Property prop = UMLTableUtils.getRealStereotypeProperty(element, id);
- final List<Stereotype> stereotypes = UMLTableUtils.getAppliedSteretoypesWithThisProperty(element, id);
+ final List<Stereotype> stereotypes = UMLTableUtils.getAppliedStereotypesWithThisProperty(element, id);
EObject steAppl = element.getStereotypeApplication(stereotypes.get(0));
EStructuralFeature stereotypePropertyFeature = steAppl.eClass().getEStructuralFeature(prop.getName());
final Stereotype ste = stereotypes.get(0);
diff --git a/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/dataprovider/UMLStereotypeSingleEnumerationComboBoxDataProvider.java b/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/dataprovider/UMLStereotypeSingleEnumerationComboBoxDataProvider.java
index eb1d96d40da..93b8eb48afb 100644
--- a/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/dataprovider/UMLStereotypeSingleEnumerationComboBoxDataProvider.java
+++ b/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/dataprovider/UMLStereotypeSingleEnumerationComboBoxDataProvider.java
@@ -84,7 +84,7 @@ public class UMLStereotypeSingleEnumerationComboBoxDataProvider implements IComb
if(modelElement != null) {
final String id = AxisUtils.getPropertyId(this.axisElement);
final Property property = UMLTableUtils.getRealStereotypeProperty(modelElement, id);
- final List<Stereotype> ste = UMLTableUtils.getAppliedSteretoypesWithThisProperty(modelElement, id);
+ final List<Stereotype> ste = UMLTableUtils.getAppliedStereotypesWithThisProperty(modelElement, id);
if(ste.size() == 1) {
final Stereotype current = ste.get(0);
final EObject steAppl = modelElement.getStereotypeApplication(current);
diff --git a/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/editor/AbstractUMLMultiValueCellEditor.java b/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/editor/AbstractUMLMultiValueCellEditor.java
index b05e94a789e..f2c01259181 100644
--- a/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/editor/AbstractUMLMultiValueCellEditor.java
+++ b/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/editor/AbstractUMLMultiValueCellEditor.java
@@ -116,7 +116,7 @@ public abstract class AbstractUMLMultiValueCellEditor extends AbstractDialogCell
realEditedObject = editedElement;
} else {
final String id = AxisUtils.getPropertyId(this.axisElement);
- stereotypesWithEditedFeatureAppliedOnElement = UMLTableUtils.getAppliedSteretoypesWithThisProperty(editedElement, id);
+ stereotypesWithEditedFeatureAppliedOnElement = UMLTableUtils.getAppliedStereotypesWithThisProperty(editedElement, id);
stereotype = stereotypesWithEditedFeatureAppliedOnElement.get(0);
realEditedObject = editedElement.getStereotypeApplication(stereotypesWithEditedFeatureAppliedOnElement.get(0));
Property prop = UMLTableUtils.getRealStereotypeProperty(editedElement, id);
diff --git a/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/manager/cell/StereotypePropertyCellManager.java b/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/manager/cell/StereotypePropertyCellManager.java
index a77d40a06f4..03335604f04 100644
--- a/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/manager/cell/StereotypePropertyCellManager.java
+++ b/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/manager/cell/StereotypePropertyCellManager.java
@@ -17,6 +17,7 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
+import java.util.Map;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.emf.common.command.Command;
@@ -37,10 +38,12 @@ import org.eclipse.papyrus.infra.tools.converter.MultiConvertedValueContainer;
import org.eclipse.papyrus.infra.tools.converter.StringValueConverterStatus;
import org.eclipse.papyrus.uml.nattable.Activator;
import org.eclipse.papyrus.uml.nattable.messages.Messages;
+import org.eclipse.papyrus.uml.nattable.paste.StereotypeApplicationStructure;
import org.eclipse.papyrus.uml.nattable.utils.Constants;
import org.eclipse.papyrus.uml.nattable.utils.UMLTableUtils;
import org.eclipse.papyrus.uml.tools.utils.EnumerationUtil;
import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Enumeration;
import org.eclipse.uml2.uml.EnumerationLiteral;
import org.eclipse.uml2.uml.PrimitiveType;
import org.eclipse.uml2.uml.Property;
@@ -69,7 +72,7 @@ public class StereotypePropertyCellManager extends UMLFeatureCellManager {
*/
@Override
public boolean handles(final Object columnElement, final Object rowElement) {
- return organizeAndResolvedObjects(columnElement, rowElement) != null;
+ return organizeAndResolvedObjects(columnElement, rowElement, null) != null;
}
/**
@@ -84,12 +87,12 @@ public class StereotypePropertyCellManager extends UMLFeatureCellManager {
*/
@Override
protected Object doGetValue(final Object columnElement, final Object rowElement, final INattableModelManager tableManager) {
- final List<Object> umlObjects = organizeAndResolvedObjects(columnElement, rowElement);
+ final List<Object> umlObjects = organizeAndResolvedObjects(columnElement, rowElement, null);
if(umlObjects.size() == 2) {
final Element el = (Element)umlObjects.get(0);
final String id = (String)umlObjects.get(1);
final Property prop = UMLTableUtils.getRealStereotypeProperty(el, id);
- final List<Stereotype> stereotypesWithThisProperty = UMLTableUtils.getAppliedSteretoypesWithThisProperty(el, id);
+ final List<Stereotype> stereotypesWithThisProperty = UMLTableUtils.getAppliedStereotypesWithThisProperty(el, id);
if(stereotypesWithThisProperty.size() == 1) {
return el.getValue(stereotypesWithThisProperty.get(0), prop.getName());
} else if(stereotypesWithThisProperty.size() > 1) {
@@ -107,7 +110,7 @@ public class StereotypePropertyCellManager extends UMLFeatureCellManager {
* a list with 2 elements : the first one is the Element and the second one the string representing the property of stereotypes
*/
@Override
- protected List<Object> organizeAndResolvedObjects(final Object columnElement, final Object rowElement) {
+ protected List<Object> organizeAndResolvedObjects(final Object columnElement, final Object rowElement, final Map<?, ?> sharedMap) {
List<Object> objects = null;
final Object column = AxisUtils.getRepresentedElement(columnElement);
final Object row = AxisUtils.getRepresentedElement(rowElement);
@@ -135,17 +138,32 @@ public class StereotypePropertyCellManager extends UMLFeatureCellManager {
*/
@Override
public boolean isCellEditable(final Object columnElement, final Object rowElement) {
- final List<Object> umlObjects = organizeAndResolvedObjects(columnElement, rowElement);
+ final List<Object> umlObjects = organizeAndResolvedObjects(columnElement, rowElement, null);
final Element el = (Element)umlObjects.get(0);
final String id = (String)umlObjects.get(1);
- switch(UMLTableUtils.getAppliedSteretoypesWithThisProperty(el, id).size()) {
+ switch(UMLTableUtils.getAppliedStereotypesWithThisProperty(el, id).size()) {
case 1:
final Property prop = UMLTableUtils.getRealStereotypeProperty(el, id);
return !prop.isDerived() && !prop.isReadOnly();
default:
return false;
}
+ }
+
+
+ @Override
+ public boolean isCellEditable(final Object columnElement, final Object rowElement, final Map<?, ?> sharedMap) {
+ final List<Object> umlObjects = organizeAndResolvedObjects(columnElement, rowElement, sharedMap);
+ final Element el = (Element)umlObjects.get(0);
+ final String id = (String)umlObjects.get(1);
+ switch(UMLTableUtils.getAppliedStereotypesWithThisProperty(el, id, sharedMap).size()) {
+ case 1:
+ final Property prop = UMLTableUtils.getRealStereotypeProperty(el, id, sharedMap);
+ return !prop.isDerived() && !prop.isReadOnly();
+ default:
+ return false;
+ }
}
/**
@@ -162,11 +180,11 @@ public class StereotypePropertyCellManager extends UMLFeatureCellManager {
*/
@Override
public Command getSetValueCommand(final TransactionalEditingDomain domain, final Object columnElement, final Object rowElement, final Object newValue, final INattableModelManager tableManager) {
- final List<Object> umlObjects = organizeAndResolvedObjects(columnElement, rowElement);
+ final List<Object> umlObjects = organizeAndResolvedObjects(columnElement, rowElement, null);
final Element el = (Element)umlObjects.get(0);
final String id = (String)umlObjects.get(1);
final Property prop = UMLTableUtils.getRealStereotypeProperty(el, id);
- final List<Stereotype> stereotypes = UMLTableUtils.getAppliedSteretoypesWithThisProperty(el, id);
+ final List<Stereotype> stereotypes = UMLTableUtils.getAppliedStereotypesWithThisProperty(el, id);
if(prop != null) {
if(stereotypes.size() == 1) {
final EObject stereotypeApplication = el.getStereotypeApplication(stereotypes.get(0));
@@ -193,20 +211,20 @@ public class StereotypePropertyCellManager extends UMLFeatureCellManager {
*/
@Override
public Command getSetStringValueCommand(final TransactionalEditingDomain domain, final Object columnElement, final Object rowElement, final String newValue, final AbstractStringValueConverter valueSolver, final INattableModelManager tableManager) {
- final List<Object> umlObjects = organizeAndResolvedObjects(columnElement, rowElement);
+ final List<Object> umlObjects = organizeAndResolvedObjects(columnElement, rowElement, null);
final Element el = (Element)umlObjects.get(0);
final String id = (String)umlObjects.get(1);
Property prop = UMLTableUtils.getRealStereotypeProperty(el, id);
- List<Stereotype> stereotypes = UMLTableUtils.getAppliedSteretoypesWithThisProperty(el, id);
+ List<Stereotype> stereotypes = UMLTableUtils.getAppliedStereotypesWithThisProperty(el, id);
ConvertedValueContainer<?> solvedValue = null;
EObject stereotypeApplication = null;
EStructuralFeature steApFeature = null;
if(prop != null) {
if(stereotypes.size() == 1) {
stereotypeApplication = el.getStereotypeApplication(stereotypes.get(0));
- switch(UMLTableUtils.getAppliedSteretoypesWithThisProperty(el, id).size()) {
+ switch(UMLTableUtils.getAppliedStereotypesWithThisProperty(el, id).size()) {
case 1:
- stereotypes = UMLTableUtils.getAppliedSteretoypesWithThisProperty(el, id);
+ stereotypes = UMLTableUtils.getAppliedStereotypesWithThisProperty(el, id);
prop = UMLTableUtils.getRealStereotypeProperty(el, id);
break;
default:
@@ -266,4 +284,82 @@ public class StereotypePropertyCellManager extends UMLFeatureCellManager {
}
return new GMFtoEMFCommandWrapper(cmd);
}
+
+ @Override
+ public void setStringValue(Object columnElement, Object rowElement, String valueAsString, AbstractStringValueConverter valueSolver, INattableModelManager tableManager, Map<?, ?> sharedMap) {
+ final List<Object> umlObjects = organizeAndResolvedObjects(columnElement, rowElement, sharedMap);
+ final Element el = (Element)umlObjects.get(0);
+ final String id = (String)umlObjects.get(1);
+ Property prop = UMLTableUtils.getRealStereotypeProperty(el, id, sharedMap);
+ List<Stereotype> stereotypes = UMLTableUtils.getAppliedStereotypesWithThisProperty(el, id, sharedMap);
+ ConvertedValueContainer<?> solvedValue = null;
+ EObject stereotypeApplication = null;
+ EStructuralFeature steApFeature = null;
+ if(sharedMap != null) {
+ List<StereotypeApplicationStructure> struct = UMLTableUtils.findStereotypeApplicationDataStructure(el, id, sharedMap);
+ //FIXME : size > 1 not yet managed
+ StereotypeApplicationStructure current = struct.get(0);
+ stereotypeApplication = current.getStereotypeApplication();
+ steApFeature = current.getFeature();
+ prop = current.getProperty();
+ } else {
+ if(prop != null) {
+ if(stereotypes.size() == 1) {
+ stereotypeApplication = el.getStereotypeApplication(stereotypes.get(0));
+ switch(UMLTableUtils.getAppliedStereotypesWithThisProperty(el, id, sharedMap).size()) {
+ case 1:
+ stereotypes = UMLTableUtils.getAppliedStereotypesWithThisProperty(el, id, sharedMap);
+ prop = UMLTableUtils.getRealStereotypeProperty(el, id, sharedMap);
+ break;
+ default:
+ prop = null;
+ stereotypes = Collections.emptyList();
+ }
+ }
+ }
+ steApFeature = stereotypeApplication.eClass().getEStructuralFeature(prop.getName());
+ }
+ solvedValue = valueSolver.deduceValueFromString(prop, valueAsString);
+
+
+ if(prop.getType() instanceof Enumeration) {//FIXME : this case must be managed by the converter!
+ EEnum eenum = (EEnum)steApFeature.getEType();
+ Object value = solvedValue.getConvertedValue();
+ if(value instanceof Collection<?>) {
+ final Collection<Enumerator> enumeratorList = EnumerationUtil.adaptToEnumeratorList(eenum, (Collection<?>)value);
+ if(enumeratorList.size() == ((Collection<?>)value).size()) {
+ solvedValue = new MultiConvertedValueContainer<Enumerator>(enumeratorList, solvedValue.getStatus());
+ } else {
+ IStatus status = new StringValueConverterStatus(IStatus.ERROR, Activator.PLUGIN_ID, "Some enumeration literal can't be resolved", Collections.<String> emptyList()); //$NON-NLS-1$
+ solvedValue = new ConvertedValueContainer<Object>(enumeratorList, status);
+ }
+ } else if(value instanceof EnumerationLiteral) {
+ if(value != null) {
+ final Enumerator enumerator = EnumerationUtil.adaptToEnumerator(eenum, (EnumerationLiteral)value);
+ if(enumerator != null) {
+ solvedValue = new ConvertedValueContainer<Enumerator>(enumerator, solvedValue.getStatus());
+ } else {
+ IStatus status = new StringValueConverterStatus(IStatus.ERROR, Activator.PLUGIN_ID, NLS.bind("The enumeration literal represented by {0} can be resolved", valueAsString), Collections.singletonList(valueAsString)); //$NON-NLS-1$
+ solvedValue = new ConvertedValueContainer<Object>(null, status);
+ }
+ }
+ }
+ }
+
+ // final CompositeCommand cmd = new CompositeCommand("Set Value As String Command"); //$NON-NLS-1$
+ if(steApFeature == null || stereotypes.size() != 1) {
+ IStatus status = new StringValueConverterStatus(IStatus.ERROR, Activator.PLUGIN_ID, "The property of stereotype to use to do the set value can't be resolved", Collections.singletonList(valueAsString)); //$NON-NLS-1$
+ solvedValue = new ConvertedValueContainer<Object>(null, status);
+ } else {
+
+ Object value = solvedValue.getConvertedValue();
+ if((value != null) || (value == null && !(prop.getType() instanceof PrimitiveType))) {
+ //we want avoid set null on element which doesn't allow it (FlowPort#direction) when the enum has not been properly resolved
+ stereotypeApplication.eSet(steApFeature, value);
+ }
+ }
+
+ createStringResolutionProblemProblem(tableManager, columnElement, rowElement, valueAsString, solvedValue, sharedMap);
+
+ }
}
diff --git a/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/manager/cell/UMLFeatureCellManager.java b/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/manager/cell/UMLFeatureCellManager.java
index 33711fef82f..f0de61cc025 100644
--- a/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/manager/cell/UMLFeatureCellManager.java
+++ b/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/manager/cell/UMLFeatureCellManager.java
@@ -17,7 +17,6 @@ import java.util.List;
import java.util.Map;
import org.eclipse.papyrus.infra.emf.nattable.manager.cell.EMFFeatureValueCellManager;
-import org.eclipse.papyrus.infra.emf.utils.EMFStringValueConverter;
import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
import org.eclipse.papyrus.infra.tools.converter.AbstractStringValueConverter;
import org.eclipse.papyrus.uml.tools.utils.UMLStringValueConverter;
@@ -43,7 +42,7 @@ public class UMLFeatureCellManager extends EMFFeatureValueCellManager {
public boolean handles(final Object columnElement, final Object rowElement) {
boolean answer = super.handles(columnElement, rowElement);
if(answer) {
- final List<Object> objects = organizeAndResolvedObjects(columnElement, rowElement);
+ final List<Object> objects = organizeAndResolvedObjects(columnElement, rowElement, null);
answer = objects.get(0) instanceof Element;
}
return answer;
@@ -61,10 +60,10 @@ public class UMLFeatureCellManager extends EMFFeatureValueCellManager {
*/
@Override
public AbstractStringValueConverter getOrCreateStringValueConverterClass(INattableModelManager tableManager, Map<Class<? extends AbstractStringValueConverter>, AbstractStringValueConverter> existingConverters, String multiValueSeparator) {
- AbstractStringValueConverter converter = existingConverters.get(EMFStringValueConverter.class);
+ AbstractStringValueConverter converter = existingConverters.get(UMLStringValueConverter.class);
if(converter == null) {
converter = new UMLStringValueConverter(tableManager.getTable().getContext(), multiValueSeparator);
- existingConverters.put(EMFStringValueConverter.class, converter);
+ existingConverters.put(UMLStringValueConverter.class, converter);
}
return converter;
}
diff --git a/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/paste/ApplyStereotypePastePostAction.java b/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/paste/ApplyStereotypePastePostAction.java
new file mode 100644
index 00000000000..3a4caae1b43
--- /dev/null
+++ b/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/paste/ApplyStereotypePastePostAction.java
@@ -0,0 +1,193 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.nattable.paste;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.runtime.Assert;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.paste.IPastePostAction;
+import org.eclipse.papyrus.uml.nattable.utils.Constants;
+import org.eclipse.papyrus.uml.tools.utils.NamedElementUtil;
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ *
+ * @author vl222926
+ * This post action allows to apply stereotypes on the pasted element
+ */
+public class ApplyStereotypePastePostAction implements IPastePostAction {
+
+
+ /**
+ * the key to found the stereotypes to add to the resources
+ */
+ private static final String STEREOTYPES_APPLICATIONS_TO_ADD_TO_RESOURCE = "stereotypesApplicationsToAddToResource"; //$NON-NLS-1$
+
+ /**
+ *
+ * @param postActionId
+ * @see org.eclipse.papyrus.infra.nattable.paste.IPastePostAction#accept(java.lang.String)
+ *
+ * @return
+ */
+ @Override
+ public boolean accept(final String postActionId) {
+ return postActionId != null && postActionId.startsWith(Constants.POST_ACTION_APPLY_STEREOTYPE_PREFIX);
+ }
+
+ /**
+ *
+ * @param ste
+ * a stereotype
+ * @param steApp
+ * its stereotype application
+ * @return
+ * a mapping between the stereotype and its emf instanciation
+ */
+ private Map<Property, EStructuralFeature> getMapping(final Stereotype ste, final EObject steApp) {
+ Map<Property, EStructuralFeature> map = new HashMap<Property, EStructuralFeature>();
+ Map<String, EStructuralFeature> features = new HashMap<String, EStructuralFeature>();
+ for(final EStructuralFeature f : steApp.eClass().getEAllStructuralFeatures()) {
+ features.put(f.getName(), f);
+ }
+
+ for(final Property current : StereotypeUtil.getAllStereotypePropertiesWithoutBaseProperties(ste)) {
+ EStructuralFeature f = features.get(current.getName());
+ Assert.isNotNull(f);
+ map.put(current, f);
+ }
+ return map;
+ }
+
+ /**
+ *
+ * @see org.eclipse.papyrus.infra.nattable.paste.IPastePostAction#doPostAction(org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager,
+ * java.lang.String, java.lang.Object, java.util.Map)
+ *
+ * @param tableManager
+ * @param postAction
+ * @param editedElement
+ * @param sharedMap
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void doPostAction(INattableModelManager tableManager, String postAction, Object editedElement, Map<Object, Object> sharedMap) {
+ //FIXME : we must do verification between apply stereotypes on an element : extened metaclass + stereotype already apply or not, + profile apply on the model
+ if(editedElement instanceof Element && !(editedElement instanceof Stereotype) && tableManager.getTable().getContext() instanceof Element) {
+ final Element elementToStereotype = (Element)editedElement;
+ final Element tableContext = (Element)tableManager.getTable().getContext();
+ boolean alreadyApplied = false;
+ final String stereotypeQN = postAction.replace(Constants.POST_ACTION_APPLY_STEREOTYPE_PREFIX, ""); //$NON-NLS-1$
+ alreadyApplied = elementToStereotype.eResource() != null && elementToStereotype.getAppliedStereotype(stereotypeQN) != null;
+ if(!alreadyApplied) {
+ final String profileQN = NamedElementUtil.getParentQualifiedName(stereotypeQN);
+ final String stereotypeName = NamedElementUtil.getNameFromQualifiedName(stereotypeQN);
+ final Package nearestPackage = tableContext.getNearestPackage().getAppliedProfile(profileQN, true);
+ if(nearestPackage != null) {
+ final Stereotype ste = (Stereotype)nearestPackage.getMember(stereotypeName, false, UMLPackage.eINSTANCE.getStereotype());
+
+ if(ste != null) {
+ final EObject stereotypeApplication = PapyrusElementOperations.applyStereotype(((Element)tableContext).getNearestPackage(), elementToStereotype, ste);
+ final Collection<EObject> steAppList;
+ if(sharedMap.containsKey(STEREOTYPES_APPLICATIONS_TO_ADD_TO_RESOURCE)) {
+ steAppList = (Collection<EObject>)sharedMap.get(STEREOTYPES_APPLICATIONS_TO_ADD_TO_RESOURCE);
+ } else {
+ steAppList = new ArrayList<EObject>();
+ sharedMap.put(STEREOTYPES_APPLICATIONS_TO_ADD_TO_RESOURCE, steAppList);
+ }
+ steAppList.add(stereotypeApplication);
+
+ //build the mapping between the stereotype and its emf instanciation
+ Map<Property, EStructuralFeature> mapping = getMapping(ste, stereotypeApplication);
+ final List<StereotypeApplicationStructure> struct;
+ if(sharedMap.containsKey(elementToStereotype)) {
+ struct = (List<StereotypeApplicationStructure>)sharedMap.get(elementToStereotype);
+ } else {
+ struct = new ArrayList<StereotypeApplicationStructure>();
+ sharedMap.put(elementToStereotype, struct);
+ }
+ //create the structure used to store this mapping
+ for(final Property current : mapping.keySet()) {
+ final StereotypeApplicationStructure structure = new StereotypeApplicationStructure(ste, stereotypeApplication, current, mapping.get(current));
+ struct.add(structure);
+ }
+
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ *
+ * @see org.eclipse.papyrus.infra.nattable.paste.IPastePostAction#doAfterAddPastedElementCommand(org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager,
+ * java.lang.String, java.util.Map)
+ *
+ * @param tableManager
+ * @param postActionId
+ * @param sharedMap
+ */
+ @Override
+ public void doAfterAddPastedElementCommand(final INattableModelManager tableManager, final String postActionId, final Map<Object, Object> sharedMap) {
+ @SuppressWarnings("unchecked")
+ //must always work!
+ final Collection<EObject> value = (Collection<EObject>)sharedMap.get(STEREOTYPES_APPLICATIONS_TO_ADD_TO_RESOURCE);
+ final Map<Resource, List<EObject>> resourcesAndSteApp = new HashMap<Resource, List<EObject>>();
+
+ Iterator<EObject> iter = value.iterator();
+ while(iter.hasNext()) {
+ final EObject current = iter.next();
+ final Resource res = getResourceToStoreStereotypeApplication(tableManager, current);
+ final List<EObject> toAdd;
+ if(resourcesAndSteApp.containsKey(res)) {
+ toAdd = resourcesAndSteApp.get(res);
+ } else {
+ toAdd = new ArrayList<EObject>();
+ resourcesAndSteApp.put(res, toAdd);
+ }
+ toAdd.add(current);
+ }
+
+ for(final Resource resource : resourcesAndSteApp.keySet()) {
+ resource.getContents().addAll(resourcesAndSteApp.get(resource));
+ }
+ }
+
+ /**
+ *
+ * @param tableManager
+ * the table manager
+ * @param stereotypeApplication
+ * the stereotype application
+ * @return
+ * the resource to use to store the steretoype application
+ */
+ private Resource getResourceToStoreStereotypeApplication(final INattableModelManager tableManager, final EObject stereotypeApplication) {
+ return tableManager.getTable().getContext().eResource();
+ }
+}
diff --git a/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/paste/PapyrusElementOperations.java b/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/paste/PapyrusElementOperations.java
new file mode 100644
index 00000000000..53ae01edbb0
--- /dev/null
+++ b/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/paste/PapyrusElementOperations.java
@@ -0,0 +1,86 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ * Adapted code from UML
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.nattable.paste;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.ENamedElement;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.ProfileApplication;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.internal.operations.ElementOperations;
+
+
+public class PapyrusElementOperations extends ElementOperations {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Applies the specified stereotype to this element.
+ *
+ * @param element
+ * The receiving '<em><b>Element</b></em>' model object.
+ * @param stereotype
+ * The stereotype to apply.
+ * <!-- end-model-doc -->
+ * @generated NOT
+ */
+ public static EObject applyStereotype(final Package nearestPackageAttachedToTheModel, Element element, Stereotype stereotype) {
+ EClass definition = getDefinition(nearestPackageAttachedToTheModel, stereotype);
+
+ if(definition == null || getExtension(element, stereotype) == null || element.getStereotypeApplication(stereotype) != null) {
+
+ throw new IllegalArgumentException(String.valueOf(stereotype));
+ }
+
+ return applyStereotype(element, definition);
+ }
+
+ protected static EClass getDefinition(Element element, Stereotype stereotype) {
+
+ if(stereotype != null) {
+ Profile profile = stereotype.getProfile();
+
+ if(profile != null) {
+ org.eclipse.uml2.uml.Package package_ = element.getNearestPackage();
+
+ if(package_ != null) {
+ ProfileApplication profileApplication = package_.getProfileApplication(profile, true);
+
+ if(profileApplication != null) {
+ ENamedElement appliedDefinition = profileApplication.getAppliedDefinition(stereotype);
+
+ if(appliedDefinition instanceof EClass) {
+ EClass eClass = (EClass)appliedDefinition;
+
+ if(!eClass.isAbstract()) {
+ return eClass;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ return null;
+ }
+
+ protected static EObject applyStereotype(Element element, EClass definition) {
+ return PasteUMLUtil.StereotypeApplicationHelper.INSTANCE.applyStereotype(element, definition);
+ }
+
+}
diff --git a/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/paste/PasteUMLUtil.java b/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/paste/PasteUMLUtil.java
new file mode 100644
index 00000000000..b5633b0332c
--- /dev/null
+++ b/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/paste/PasteUMLUtil.java
@@ -0,0 +1,78 @@
+package org.eclipse.papyrus.uml.nattable.paste;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.common.util.UML2Util;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Extension;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+public class PasteUMLUtil extends UMLUtil {
+
+ /**
+ * The StereotypeApplicationHelper can be overridden to change the default
+ * location of applied stereotypes.
+ * Typically, stereotype applications are placed in the same location as
+ * the element to which the stereotype is applied, however, stereotype
+ * applications may be placed in other resources.
+ *
+ * @since 3.0
+ */
+ public static class StereotypeApplicationHelper extends UMLUtil.StereotypeApplicationHelper {
+
+ public static final StereotypeApplicationHelper INSTANCE = createStereotypeApplicationHelper();
+
+ private static StereotypeApplicationHelper createStereotypeApplicationHelper() {
+ StereotypeApplicationHelper stereotypeApplicationHelper = UML2Util.loadClassFromSystemProperty("org.eclipse.uml2.uml.util.UMLUtil$StereotypeApplicationHelper.INSTANCE"); //$NON-NLS-1$
+
+ if(stereotypeApplicationHelper != null) {
+ return stereotypeApplicationHelper;
+ }
+
+ return new StereotypeApplicationHelper();
+ }
+
+
+ public EObject applyStereotype(Element element, EClass definition) {
+ EObject stereotypeApplication = EcoreUtil.create(definition);
+
+ CacheAdapter.getInstance().adapt(stereotypeApplication);
+
+ // addToContainmentList(element, stereotypeApplication);
+ setBaseElement(stereotypeApplication, element);
+
+ return stereotypeApplication;
+ }
+
+ /**
+ * Sets the base element for the specified stereotype application to the
+ * specified element.
+ *
+ * @param stereotypeApplication
+ * The stereotype application.
+ * @param element
+ * The new base element.
+ */
+ public static void setBaseElement(EObject stereotypeApplication, Element element) {
+
+ if(stereotypeApplication != null) {
+ EClass eClass = stereotypeApplication.eClass();
+ // if(getStereotype(eClass, stereotypeApplication) != null) {
+
+ for(EStructuralFeature eStructuralFeature : eClass.getEAllStructuralFeatures()) {
+
+ if(eStructuralFeature.getName().startsWith(Extension.METACLASS_ROLE_PREFIX) && (element == null || eStructuralFeature.getEType().isInstance(element))) {
+
+ stereotypeApplication.eSet(eStructuralFeature, element);
+ }
+ }
+ // }
+ }
+ }
+
+ }
+}
diff --git a/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/paste/StereotypeApplicationStructure.java b/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/paste/StereotypeApplicationStructure.java
new file mode 100644
index 00000000000..adc7ab9c516
--- /dev/null
+++ b/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/paste/StereotypeApplicationStructure.java
@@ -0,0 +1,101 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.nattable.paste;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Stereotype;
+
+/**
+ * A structure used to store useful informations about stereotype, property, stereotype application, ...
+ *
+ * @author vl222926
+ *
+ */
+public final class StereotypeApplicationStructure {
+
+ /** The stereotype. */
+ private final Stereotype stereotype;
+
+ /** The property. */
+ private final Property property;
+
+ /** The stereotype application. */
+ private final EObject stereotypeApplication;
+
+ /** The feature. */
+ private final EStructuralFeature feature;
+
+ /**
+ *
+ * Constructor.
+ *
+ * @param stereotype
+ * the stereotype
+ * @param stereotypeApplication
+ * the emf eobject representing the UML stereotype
+ * @param property
+ * a property of this stereotype
+ * @param feature
+ * the emf feature representing the UML Property
+ */
+ public StereotypeApplicationStructure(final Stereotype stereotype, final EObject stereotypeApplication, final Property property, final EStructuralFeature feature) {
+ this.stereotype = stereotype;
+ this.property = property;
+ this.stereotypeApplication = stereotypeApplication;
+ this.feature = feature;
+ }
+
+
+ /**
+ * Gets the stereotype.
+ *
+ * @return the stereotype
+ */
+ public final Stereotype getStereotype() {
+ return stereotype;
+ }
+
+
+ /**
+ * Gets the property.
+ *
+ * @return the property
+ */
+ public final Property getProperty() {
+ return property;
+ }
+
+
+ /**
+ * Gets the stereotype application.
+ *
+ * @return the stereotype application
+ */
+ public final EObject getStereotypeApplication() {
+ return stereotypeApplication;
+ }
+
+
+ /**
+ * Gets the feature.
+ *
+ * @return the feature
+ */
+ public final EStructuralFeature getFeature() {
+ return feature;
+ }
+
+}
diff --git a/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/utils/Constants.java b/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/utils/Constants.java
index 0efdd94d4a8..628f37e8d73 100644
--- a/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/utils/Constants.java
+++ b/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/utils/Constants.java
@@ -28,4 +28,12 @@ public class Constants {
* the id used for stereotypes properties
*/
public static final String PROPERTY_OF_STEREOTYPE_PREFIX = "property_of_stereotype:/"; //$NON-NLS-1$
+
+ /**
+ * the prefix used to identify this post action
+ */
+ public static final String POST_ACTION_APPLY_STEREOTYPE_PREFIX = "applyStereotype:/";
+
+
+
}
diff --git a/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/utils/UMLTableUtils.java b/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/utils/UMLTableUtils.java
index 688adbb0442..b4d90a82470 100644
--- a/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/utils/UMLTableUtils.java
+++ b/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/utils/UMLTableUtils.java
@@ -14,11 +14,16 @@
package org.eclipse.papyrus.uml.nattable.utils;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
+import java.util.Map;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.infra.nattable.utils.Constants;
+import org.eclipse.papyrus.uml.nattable.paste.StereotypeApplicationStructure;
import org.eclipse.papyrus.uml.tools.utils.NamedElementUtil;
import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Package;
import org.eclipse.uml2.uml.Profile;
import org.eclipse.uml2.uml.Property;
import org.eclipse.uml2.uml.Stereotype;
@@ -42,6 +47,7 @@ public class UMLTableUtils {
* an element of the model (currently, if it is not an UML::Element, we can't find the property)
* @param id
* the id used to identify the property of the stereotype
+ *
* @return
* the UML::Property or <code>null</code> if we can't resolve it (the required profile is not applied)
*/
@@ -66,25 +72,126 @@ public class UMLTableUtils {
/**
*
+ * @param eobject
+ * an element of the model (currently, if it is not an UML::Element, we can't find the property)
+ * @param id
+ * the id used to identify the property of the stereotype
+ * @param sharedMap
+ * a map owning interesting information, like {@link StereotypeApplicationStructure} which can be used to find stereotype, stereotype
+ * application and so on
+ * @return
+ * the UML::Property or <code>null</code> if we can't resolve it (the required profile is not applied)
+ */
+ public static Property getRealStereotypeProperty(final EObject eobject, final String id, final Map<?, ?> sharedMap) {
+ assert id.startsWith(PROPERTY_OF_STEREOTYPE_PREFIX);
+ if(eobject instanceof Element) {
+ final Element element = (Element)eobject;
+ final String propertyQN = id.replace(UMLTableUtils.PROPERTY_OF_STEREOTYPE_PREFIX, ""); //$NON-NLS-1$
+ final String propertyName = NamedElementUtil.getNameFromQualifiedName(propertyQN);
+ final String stereotypeQN = NamedElementUtil.getParentQualifiedName(propertyQN);
+ final String stereotypeName = NamedElementUtil.getNameFromQualifiedName(stereotypeQN);
+ final String profileQN = NamedElementUtil.getParentQualifiedName(stereotypeQN);
+ final Package nearestPackage;
+ if(sharedMap != null) {
+ final Element context = (Element)sharedMap.get(Constants.PASTED_ELEMENT_CONTAINER_KEY);
+ nearestPackage = context.getNearestPackage();
+ } else {
+ nearestPackage = element.getNearestPackage();
+ }
+ if(nearestPackage != null) {
+ final Profile profile = nearestPackage.getAppliedProfile(profileQN, true);
+ if(profile != null) {
+ final Stereotype ste = profile.getOwnedStereotype(stereotypeName);
+ return (Property)ste.getMember(propertyName);
+ }
+ }
+
+ }
+ return null;
+ }
+
+ /**
+ *
+ * @param element
+ * the UML::Element on which we are looking for applied Stereotype with the property identified by its id
+ * @param id
+ * the id used to identify the property of the stereotype
+ *
+ * @return
+ * the list of UML::Stereotype which have the property identified by this id and which are applied on the Element or <code>null</code> if
+ * we can't resolve it (the required profile is not applied)
+ */
+ public static final List<Stereotype> getAppliedStereotypesWithThisProperty(final Element element, final String id) {
+ assert id.startsWith(PROPERTY_OF_STEREOTYPE_PREFIX);
+ final List<Stereotype> stereotypes = new ArrayList<Stereotype>();
+ if(element.eResource() != null) {
+ final Object prop = getRealStereotypeProperty(element, id);
+ if(prop instanceof Property) {
+ for(final Stereotype current : element.getAppliedStereotypes()) {
+ if(current.getAllAttributes().contains(prop)) {
+ stereotypes.add(current);
+ }
+ }
+ }
+ }
+ return stereotypes;
+ }
+
+ /**
+ *
* @param element
* the UML::Element on which we are looking for applied Stereotype with the property identified by its id
* @param id
* the id used to identify the property of the stereotype
+ * @param sharedMap
+ * a map owning interesting information, like {@link StereotypeApplicationStructure} which can be used to find stereotype, stereotype
+ * application and so on
* @return
* the list of UML::Stereotype which have the property identified by this id and which are applied on the Element or <code>null</code> if
* we can't resolve it (the required profile is not applied)
*/
- public static final List<Stereotype> getAppliedSteretoypesWithThisProperty(final Element element, final String id) {
+ public static final List<Stereotype> getAppliedStereotypesWithThisProperty(final Element element, final String id, Map<?, ?> sharedMap) {
assert id.startsWith(PROPERTY_OF_STEREOTYPE_PREFIX);
final List<Stereotype> stereotypes = new ArrayList<Stereotype>();
- final Object prop = getRealStereotypeProperty(element, id);
- if(prop instanceof Property) {
- for(final Stereotype current : element.getAppliedStereotypes()) {
- if(current.getAllAttributes().contains(prop)) {
- stereotypes.add(current);
+ if(sharedMap != null) {
+ final List<StereotypeApplicationStructure> struct = findStereotypeApplicationDataStructure(element, id, sharedMap);
+ for(final StereotypeApplicationStructure current : struct) {
+ stereotypes.add(current.getStereotype());
+ }
+ }
+ if(element.eResource() != null) {
+ final Object prop = getRealStereotypeProperty(element, id, sharedMap);
+ if(prop instanceof Property) {
+ for(final Stereotype current : element.getAppliedStereotypes()) {
+ if(current.getAllAttributes().contains(prop)) {
+ stereotypes.add(current);
+ }
}
}
}
return stereotypes;
}
+ /**
+ *
+ * @param editedElement
+ * the edited element
+ * @param id
+ * the id of the edited stereotype feature
+ * @param sharedMap
+ * a map owning interesting information, like {@link StereotypeApplicationStructure} which can be used to find stereotype, stereotype
+ * application and so on
+ * @return
+ * the list of the found data structure
+ */
+ public static final List<StereotypeApplicationStructure> findStereotypeApplicationDataStructure(final Element editedElement, final String id, final Map<?, ?> sharedMap) {
+ //FIXME : enhance the data structure to look for an editedElement + a propQn as Key!
+ List<StereotypeApplicationStructure> list = (List<StereotypeApplicationStructure>)sharedMap.get(editedElement);
+ final String propertyQN = id.replace(UMLTableUtils.PROPERTY_OF_STEREOTYPE_PREFIX, ""); //$NON-NLS-1$
+ for(final StereotypeApplicationStructure current : list) {
+ if(current.getProperty().getQualifiedName().equals(propertyQN)) {
+ return Collections.singletonList(current);//FIXME : doesn't manage when several stereotype with the same property are applied
+ }
+ }
+ return null;
+ }
}
diff --git a/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/widget/UMLDialogComboAction.java b/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/widget/UMLDialogComboAction.java
index 376fde6881d..48ffc527a85 100644
--- a/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/widget/UMLDialogComboAction.java
+++ b/extraplugins/table/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/widget/UMLDialogComboAction.java
@@ -92,7 +92,7 @@ public class UMLDialogComboAction extends AbstractComboAction {
realEditedObject = editedElement;
} else {
String id = AxisUtils.getPropertyId(feature);
- stereotypesWithEditedFeatureAppliedOnElement = UMLTableUtils.getAppliedSteretoypesWithThisProperty(editedElement, id);
+ stereotypesWithEditedFeatureAppliedOnElement = UMLTableUtils.getAppliedStereotypesWithThisProperty(editedElement, id);
stereotype = stereotypesWithEditedFeatureAppliedOnElement.get(0);
realEditedObject = editedElement.getStereotypeApplication(stereotypesWithEditedFeatureAppliedOnElement.get(0));
Property prop = UMLTableUtils.getRealStereotypeProperty(editedElement, id);

Back to the top