Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas FAUVERGUE2016-05-03 08:15:56 +0000
committerGerrit Code Review @ Eclipse.org2016-05-03 13:37:07 +0000
commit5cd0f18d5114cb718322ed122d237c8e6d0e9f08 (patch)
treee7d3e9b80121fdde7cee0d76b5e5c68facce76e6
parentdefa49e7b53e54bdc8d309f512074024dd3eec0c (diff)
downloadorg.eclipse.papyrus-5cd0f18d5114cb718322ed122d237c8e6d0e9f08.tar.gz
org.eclipse.papyrus-5cd0f18d5114cb718322ed122d237c8e6d0e9f08.tar.xz
org.eclipse.papyrus-5cd0f18d5114cb718322ed122d237c8e6d0e9f08.zip
Bug 483357 - [Table] Popup menu must be available in each context and
mainly in the property view! https://bugs.eclipse.org/bugs/show_bug.cgi?id=483357 Fix Junit tests due to previous changes. Use the nattable row and column selection event insteand of papyrus row and column selection event with the masks. This must be managed with nattable insteand of papyrus with the refactor of nattable model manager selection refactoring. Change-Id: Iddc4f8f75f6f0cae85da024006301acb35e99331 Signed-off-by: Nicolas FAUVERGUE <nicolas.fauvergue@all4tec.net> Signed-off-by: Vincent Lorenzo <vincent.lorenzo@cea.fr>
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/handler/AbstractTableHandler.java597
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/menu/AbstractPapyrusPopupMenuAction.java9
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/menu/MenuUtils.java83
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/provider/TableSelectionProvider.java20
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/selection/PapyrusSelectColumnCommandHandler.java4
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/selection/PapyrusSelectRowCommandHandler.java4
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/selection/event/PapyrusColumnSelectionEvent.java3
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/selection/event/PapyrusRowSelectionEvent.java3
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/bugs/AbstractAxisChangeIndexTest.java7
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/bugs/AbstractInvertedAxisChangeIndexTest.java7
-rw-r--r--tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/without/service/edit/AbstractOpenTableTest.java7
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/bugs/AbstractAxisChangeIndexTest.java8
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/tests/AbstractOpenTableTest.java19
-rwxr-xr-xtests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/tests/AbstractTableTest.java21
-rwxr-xr-xtests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/org.eclipse.papyrus.uml.nattable.generic.tests.launch82
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/bugs/AbstractAxisChangeIndexTest.java6
-rw-r--r--tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/bugs/AbstractInvertedAxisChangeIndexTest.java6
-rwxr-xr-xtests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/tests/AbstractGenericTableTest.java4
18 files changed, 519 insertions, 371 deletions
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/handler/AbstractTableHandler.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/handler/AbstractTableHandler.java
index fb3158f0a9d..961f214d207 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/handler/AbstractTableHandler.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/handler/AbstractTableHandler.java
@@ -1,298 +1,299 @@
-/*****************************************************************************
- * 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.handler;
-
-import java.lang.ref.WeakReference;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.expressions.IEvaluationContext;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.nebula.widgets.nattable.NatTable;
-import org.eclipse.nebula.widgets.nattable.selection.SelectionLayer;
-import org.eclipse.nebula.widgets.nattable.style.DisplayMode;
-import org.eclipse.nebula.widgets.nattable.ui.NatEventData;
-import org.eclipse.nebula.widgets.nattable.ui.menu.MenuItemProviders;
-import org.eclipse.papyrus.infra.nattable.manager.axis.IAxisManager;
-import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
-import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
-import org.eclipse.papyrus.infra.nattable.model.nattable.Table;
-import org.eclipse.papyrus.infra.nattable.utils.NattableConfigAttributes;
-import org.eclipse.papyrus.infra.nattable.utils.TableEditingDomainUtils;
-import org.eclipse.papyrus.infra.nattable.utils.TableSelectionWrapper;
-import org.eclipse.papyrus.infra.ui.util.WorkbenchPartHelper;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * The abstract handler to use for the table actions
- *
- * @author Vincent Lorenzo
- *
- */
-public abstract class AbstractTableHandler extends AbstractHandler {
-
- /**
- * the id used to find the NatEvent in the EclipseContext
- *
- * @deprecated since Papyrus 1.2 (Eclipse Neon)
- */
- @Deprecated
- public static final String NAT_EVENT_DATA_PARAMETER_ID = "natEventParameterId"; //$NON-NLS-1$
-
- /**
- * the event which have declenched the call to setEnable(Object evaluationContext. This event contains the location of the mouse pointer when
- * the popup menu for this handler have been created
- *
- * we do a weak reference to fix the bug 469376: [Table] Memory Leak : (Tree)NattableWidgetManager, EObjectTreeItemAxis and others objects are not disposed when the table is closed
- * https://bugs.eclipse.org/bugs/show_bug.cgi?id=469376
- */
- // TODO : should maybe be removed with the future usage of e4 and the Eclipse Context
- private WeakReference<NatEventData> eventDataWeakReference;
-
- /**
- *
- * @return
- * the current active part
- *
- * @deprecated since Papyrus 1.2 (Eclipse Neon)
- */
- protected IWorkbenchPart getActivePart() {
- return WorkbenchPartHelper.getCurrentActiveWorkbenchPart();
- }
-
- /**
- *
- * @return
- * the TableSelectioWrapper used (according to the referenced NatEventData) or <code>null</code> if not found
- * @since 2.0
- */
- protected final TableSelectionWrapper getTableSelectionWrapper() {
- final INattableModelManager tableManager = getCurrentNattableModelManager();
- if (tableManager != null) {
- return tableManager.getAdapter(TableSelectionWrapper.class);
- }
- return null;
- }
-
- /**
- *
- * @return
- * the current table manager or <code>null</code> if not found
- */
- protected INattableModelManager getCurrentNattableModelManager() {
- final NatEventData data = getNatEventData();
- if (data != null) {
- final NatTable natTable = data.getNatTable();
- if (natTable != null && natTable.getConfigRegistry() != null) {
- return natTable.getConfigRegistry().getConfigAttribute(NattableConfigAttributes.NATTABLE_MODEL_MANAGER_CONFIG_ATTRIBUTE, DisplayMode.NORMAL, NattableConfigAttributes.NATTABLE_MODEL_MANAGER_ID);
- }
- }
- return null;
- }
-
-
- /**
- * Returns the EditingDomain associated to the table
- *
- * @return
- */
- protected TransactionalEditingDomain getTableEditingDomain() {// duplicated code from NattableModelManager
- return TableEditingDomainUtils.getTableEditingDomain(getCurrentNattableModelManager().getTable());
- }
-
- /**
- * Returns the EditingDomain associated to the context
- *
- * @return
- */
- protected TransactionalEditingDomain getContextEditingDomain() {// duplicated code from NattableModelManager
- return TableEditingDomainUtils.getTableContextEditingDomain(getCurrentNattableModelManager().getTable());
- }
-
- /**
- *
- * @return
- * the last NatEventData received during the setEnable
- */
- protected NatEventData getNatEventData() {
- if (this.eventDataWeakReference != null) {
- return this.eventDataWeakReference.get();
- }
- return null;
- }
-
- /**
- *
- * @param evaluationContext
- * the evaluation context
- * @return
- * the NatEventData from this evaluation context or <code>null</code> if not found
- */
- protected NatEventData getNatEventData(final Object evaluationContext) {
- if (evaluationContext instanceof NatEventData) {
- return (NatEventData) evaluationContext;
- }
- NatEventData eventData = null;
- if (evaluationContext instanceof IEvaluationContext) {
- Object value = ((IEvaluationContext) evaluationContext).getVariable(MenuItemProviders.NAT_EVENT_DATA_KEY);
- if (value instanceof NatEventData) {
- eventData = (NatEventData) value;
- }
- }
-
- // Commented since Papyrus 1.2 (Neon Mars 2016)
- // that's why we can't add the variable NAT_EVENT_DATA_PARAMETER_ID and we need to create a NatEventData instead of to get it in evaluationContext
- // if (eventData == null) {
- // Point cursorLocation = Display.getDefault().getCursorLocation();
- // Control control = Display.getDefault().getCursorControl();// doesn't work when we are selecting a command in a sub menu!
- // if (control instanceof NatTable) {// : not nice, but required
- // cursorLocation = control.toControl(cursorLocation);
- // Event e = new Event();
- // e.x = cursorLocation.x;
- // e.y = cursorLocation.y;
- // e.display = Display.getDefault();
- // e.widget = control;
- // MouseEvent event = new MouseEvent(e);
- // eventData = NatEventData.createInstanceFromEvent(event);
- // }
- // }
- return eventData;
- }
- /**
- *
- * @param evaluationContext
- * @return
- * the index of the rows which are fully selected
- */
- protected List<Integer> getFullSelectedRowsIndex(Object evaluationContext) {
- final INattableModelManager manager = getCurrentNattableModelManager();
- if (manager != null) {
- final NatEventData data = getNatEventData(evaluationContext);
- if (data != null) {
- final SelectionLayer layer = manager.getBodyLayerStack().getSelectionLayer();
- int[] fullSelectedColumnsPosition = layer.getFullySelectedRowPositions();
- List<Integer> positions = new ArrayList<Integer>();
- for (int i : fullSelectedColumnsPosition) {
- positions.add(layer.getRowIndexByPosition(i));
- }
- return positions;
- }
- }
- return Collections.emptyList();
- }
-
- /**
- *
- * @param evaluationContext
- * @return
- * the index of the columns which are fully selected
- */
- protected List<Integer> getFullSelectedColumnsIndex(Object evaluationContext) {
- final INattableModelManager manager = getCurrentNattableModelManager();
- if (manager != null) {
- final NatEventData data = getNatEventData(evaluationContext);
- if (data != null) {
- final SelectionLayer layer = manager.getBodyLayerStack().getSelectionLayer();
- int[] fullSelectedColumnsPosition = layer.getFullySelectedColumnPositions();
- List<Integer> positions = new ArrayList<Integer>();
- for (int i : fullSelectedColumnsPosition) {
- positions.add(layer.getColumnIndexByPosition(i));
- }
- return positions;
- }
- }
- return Collections.emptyList();
- }
-
-
- /**
- *
- * @return
- * the row axis manager
- */
- protected IAxisManager getRowAxisManager() {
- final INattableModelManager manager = getCurrentNattableModelManager();
- if (manager != null) {
- return manager.getRowAxisManager();
- }
- return null;
- }
-
- /**
- *
- * @return
- * the column axis manager
- */
- protected IAxisManager getColumnAxisManager() {
- final INattableModelManager manager = getCurrentNattableModelManager();
- if (manager != null) {
- return manager.getColumnAxisManager();
- }
- return null;
- }
-
- /**
- *
- * @see org.eclipse.core.commands.AbstractHandler#setEnabled(java.lang.Object)
- *
- * @param evaluationContext
- */
- @Override
- public void setEnabled(Object evaluationContext) {
- this.eventDataWeakReference = new WeakReference<NatEventData>(getNatEventData(evaluationContext));
- boolean enabled = getCurrentNattableModelManager() != null;
- setBaseEnabled(enabled);
- }
-
- /**
- * @see org.eclipse.core.commands.AbstractHandler#setBaseEnabled(boolean)
- *
- * @param state
- */
- @Override
- protected void setBaseEnabled(boolean state) {
- if (!state) {
- this.eventDataWeakReference = null;
- }
- super.setBaseEnabled(state);
- }
-
- /**
- *
- * @return
- * the currently managed table
- */
- protected final Table getTable() {
- return getCurrentNattableModelManager().getTable();
- }
-
- /**
- * Refreshes the table
- */
- protected final void refreshTable() {
- ((NattableModelManager) getCurrentNattableModelManager()).refreshNatTable();
- }
-
- /**
- * @see org.eclipse.core.commands.AbstractHandler#dispose()
- *
- */
- @Override
- public void dispose() {
- super.dispose();
- this.eventDataWeakReference = null;
- }
-}
+/*****************************************************************************
+ * 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.handler;
+
+import java.lang.ref.WeakReference;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.expressions.IEvaluationContext;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.selection.SelectionLayer;
+import org.eclipse.nebula.widgets.nattable.style.DisplayMode;
+import org.eclipse.nebula.widgets.nattable.ui.NatEventData;
+import org.eclipse.nebula.widgets.nattable.ui.menu.MenuItemProviders;
+import org.eclipse.papyrus.infra.nattable.manager.axis.IAxisManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.model.nattable.Table;
+import org.eclipse.papyrus.infra.nattable.utils.NattableConfigAttributes;
+import org.eclipse.papyrus.infra.nattable.utils.TableEditingDomainUtils;
+import org.eclipse.papyrus.infra.nattable.utils.TableSelectionWrapper;
+import org.eclipse.papyrus.infra.ui.util.WorkbenchPartHelper;
+import org.eclipse.ui.IWorkbenchPart;
+
+/**
+ * The abstract handler to use for the table actions
+ *
+ * @author Vincent Lorenzo
+ *
+ */
+public abstract class AbstractTableHandler extends AbstractHandler {
+
+ /**
+ * the id used to find the NatEvent in the EclipseContext
+ *
+ * @deprecated since Papyrus 1.2 (Eclipse Neon)
+ */
+ @Deprecated
+ public static final String NAT_EVENT_DATA_PARAMETER_ID = "natEventParameterId"; //$NON-NLS-1$
+
+ /**
+ * the event which have declenched the call to setEnable(Object evaluationContext. This event contains the location of the mouse pointer when
+ * the popup menu for this handler have been created
+ *
+ * we do a weak reference to fix the bug 469376: [Table] Memory Leak : (Tree)NattableWidgetManager, EObjectTreeItemAxis and others objects are not disposed when the table is closed
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=469376
+ */
+ // TODO : should maybe be removed with the future usage of e4 and the Eclipse Context
+ private WeakReference<NatEventData> eventDataWeakReference;
+
+ /**
+ *
+ * @return
+ * the current active part
+ * @deprecated since 2.0
+ */
+ @Deprecated
+ protected IWorkbenchPart getActivePart() {
+ return WorkbenchPartHelper.getCurrentActiveWorkbenchPart();
+ }
+
+ /**
+ *
+ * @return
+ * the TableSelectioWrapper used (according to the referenced NatEventData) or <code>null</code> if not found
+ * @since 2.0
+ */
+ protected final TableSelectionWrapper getTableSelectionWrapper() {
+ final INattableModelManager tableManager = getCurrentNattableModelManager();
+ if (tableManager != null) {
+ return tableManager.getAdapter(TableSelectionWrapper.class);
+ }
+ return null;
+ }
+
+ /**
+ *
+ * @return
+ * the current table manager or <code>null</code> if not found
+ */
+ protected INattableModelManager getCurrentNattableModelManager() {
+ INattableModelManager manager = null;
+ final NatEventData data = getNatEventData();
+ if (data != null) {
+ final NatTable natTable = data.getNatTable();
+ if (natTable != null && natTable.getConfigRegistry() != null) {
+ manager = natTable.getConfigRegistry().getConfigAttribute(NattableConfigAttributes.NATTABLE_MODEL_MANAGER_CONFIG_ATTRIBUTE, DisplayMode.NORMAL, NattableConfigAttributes.NATTABLE_MODEL_MANAGER_ID);
+ }
+ }
+ return manager;
+ }
+
+
+ /**
+ * Returns the EditingDomain associated to the table
+ *
+ * @return
+ */
+ protected TransactionalEditingDomain getTableEditingDomain() {// duplicated code from NattableModelManager
+ return TableEditingDomainUtils.getTableEditingDomain(getCurrentNattableModelManager().getTable());
+ }
+
+ /**
+ * Returns the EditingDomain associated to the context
+ *
+ * @return
+ */
+ protected TransactionalEditingDomain getContextEditingDomain() {// duplicated code from NattableModelManager
+ return TableEditingDomainUtils.getTableContextEditingDomain(getCurrentNattableModelManager().getTable());
+ }
+
+ /**
+ *
+ * @return
+ * the last NatEventData received during the setEnable
+ */
+ protected NatEventData getNatEventData() {
+ if (this.eventDataWeakReference != null) {
+ return this.eventDataWeakReference.get();
+ }
+ return null;
+ }
+
+ /**
+ *
+ * @param evaluationContext
+ * the evaluation context
+ * @return
+ * the NatEventData from this evaluation context or <code>null</code> if not found
+ */
+ protected NatEventData getNatEventData(final Object evaluationContext) {
+ if (evaluationContext instanceof NatEventData) {
+ return (NatEventData) evaluationContext;
+ }
+ NatEventData eventData = null;
+ if (evaluationContext instanceof IEvaluationContext) {
+ Object value = ((IEvaluationContext) evaluationContext).getVariable(MenuItemProviders.NAT_EVENT_DATA_KEY);
+ if (value instanceof NatEventData) {
+ eventData = (NatEventData) value;
+ }
+ }
+
+ // Commented since Papyrus 1.2 (Neon Mars 2016)
+ // that's why we can't add the variable NAT_EVENT_DATA_PARAMETER_ID and we need to create a NatEventData instead of to get it in evaluationContext
+ // if (eventData == null) {
+ // Point cursorLocation = Display.getDefault().getCursorLocation();
+ // Control control = Display.getDefault().getCursorControl();// doesn't work when we are selecting a command in a sub menu!
+ // if (control instanceof NatTable) {// : not nice, but required
+ // cursorLocation = control.toControl(cursorLocation);
+ // Event e = new Event();
+ // e.x = cursorLocation.x;
+ // e.y = cursorLocation.y;
+ // e.display = Display.getDefault();
+ // e.widget = control;
+ // MouseEvent event = new MouseEvent(e);
+ // eventData = NatEventData.createInstanceFromEvent(event);
+ // }
+ // }
+ return eventData;
+ }
+ /**
+ *
+ * @param evaluationContext
+ * @return
+ * the index of the rows which are fully selected
+ */
+ protected List<Integer> getFullSelectedRowsIndex(Object evaluationContext) {
+ final INattableModelManager manager = getCurrentNattableModelManager();
+ if (manager != null) {
+ final NatEventData data = getNatEventData(evaluationContext);
+ if (data != null) {
+ final SelectionLayer layer = manager.getBodyLayerStack().getSelectionLayer();
+ int[] fullSelectedColumnsPosition = layer.getFullySelectedRowPositions();
+ List<Integer> positions = new ArrayList<Integer>();
+ for (int i : fullSelectedColumnsPosition) {
+ positions.add(layer.getRowIndexByPosition(i));
+ }
+ return positions;
+ }
+ }
+ return Collections.emptyList();
+ }
+
+ /**
+ *
+ * @param evaluationContext
+ * @return
+ * the index of the columns which are fully selected
+ */
+ protected List<Integer> getFullSelectedColumnsIndex(Object evaluationContext) {
+ final INattableModelManager manager = getCurrentNattableModelManager();
+ if (manager != null) {
+ final NatEventData data = getNatEventData(evaluationContext);
+ if (data != null) {
+ final SelectionLayer layer = manager.getBodyLayerStack().getSelectionLayer();
+ int[] fullSelectedColumnsPosition = layer.getFullySelectedColumnPositions();
+ List<Integer> positions = new ArrayList<Integer>();
+ for (int i : fullSelectedColumnsPosition) {
+ positions.add(layer.getColumnIndexByPosition(i));
+ }
+ return positions;
+ }
+ }
+ return Collections.emptyList();
+ }
+
+
+ /**
+ *
+ * @return
+ * the row axis manager
+ */
+ protected IAxisManager getRowAxisManager() {
+ final INattableModelManager manager = getCurrentNattableModelManager();
+ if (manager != null) {
+ return manager.getRowAxisManager();
+ }
+ return null;
+ }
+
+ /**
+ *
+ * @return
+ * the column axis manager
+ */
+ protected IAxisManager getColumnAxisManager() {
+ final INattableModelManager manager = getCurrentNattableModelManager();
+ if (manager != null) {
+ return manager.getColumnAxisManager();
+ }
+ return null;
+ }
+
+ /**
+ *
+ * @see org.eclipse.core.commands.AbstractHandler#setEnabled(java.lang.Object)
+ *
+ * @param evaluationContext
+ */
+ @Override
+ public void setEnabled(Object evaluationContext) {
+ this.eventDataWeakReference = new WeakReference<NatEventData>(getNatEventData(evaluationContext));
+ boolean enabled = getCurrentNattableModelManager() != null;
+ setBaseEnabled(enabled);
+ }
+
+ /**
+ * @see org.eclipse.core.commands.AbstractHandler#setBaseEnabled(boolean)
+ *
+ * @param state
+ */
+ @Override
+ protected void setBaseEnabled(boolean state) {
+ if (!state) {
+ this.eventDataWeakReference = null;
+ }
+ super.setBaseEnabled(state);
+ }
+
+ /**
+ *
+ * @return
+ * the currently managed table
+ */
+ protected final Table getTable() {
+ return getCurrentNattableModelManager().getTable();
+ }
+
+ /**
+ * Refreshes the table
+ */
+ protected final void refreshTable() {
+ ((NattableModelManager) getCurrentNattableModelManager()).refreshNatTable();
+ }
+
+ /**
+ * @see org.eclipse.core.commands.AbstractHandler#dispose()
+ *
+ */
+ @Override
+ public void dispose() {
+ super.dispose();
+ this.eventDataWeakReference = null;
+ }
+}
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/menu/AbstractPapyrusPopupMenuAction.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/menu/AbstractPapyrusPopupMenuAction.java
index 248c725b6d7..15ffcabfd08 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/menu/AbstractPapyrusPopupMenuAction.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/menu/AbstractPapyrusPopupMenuAction.java
@@ -13,7 +13,6 @@
package org.eclipse.papyrus.infra.nattable.menu;
-import org.eclipse.core.expressions.IEvaluationContext;
import org.eclipse.core.runtime.Assert;
import org.eclipse.jface.action.IMenuListener;
import org.eclipse.jface.action.IMenuManager;
@@ -141,12 +140,12 @@ public class AbstractPapyrusPopupMenuAction implements IMouseAction, IMenuListen
@Override
public final void menuAboutToShow(final IMenuManager menuManager) {
addMenuSeparators(menuManager);
- final IMenuService menuService = PlatformUI.getWorkbench().getService(IMenuService.class);
- final IEvaluationContext state = menuService.getCurrentState();
+ final IMenuService menuService = PlatformUI.getWorkbench().getService(IMenuService.class);
final NatEventData natEventData = (NatEventData) this.menuManager.getMenu().getData(MenuConstants.NAT_EVENT_DATA_KEY);
- // we register the nattable event data here, in order to get i
- state.addVariable(MenuConstants.NAT_EVENT_DATA_KEY, natEventData);
+
+ MenuUtils.registerNatTableWidgetInEclipseContext(natEventData);
+
if (menuService != null && menuManager instanceof MenuManager) {
menuService.populateContributionManager((MenuManager) menuManager, this.menuLocation);
}
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/menu/MenuUtils.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/menu/MenuUtils.java
new file mode 100644
index 00000000000..2da7b1cdace
--- /dev/null
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/menu/MenuUtils.java
@@ -0,0 +1,83 @@
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * 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:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.nattable.menu;
+
+import org.eclipse.core.expressions.IEvaluationContext;
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.layer.LabelStack;
+import org.eclipse.nebula.widgets.nattable.ui.NatEventData;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.swt.events.MouseEvent;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.menus.IMenuService;
+
+/**
+ * This class provides usefull method to register a natTable widget (the current one) in the eclipse context, in order to get it in the handlers.
+ * These methods are used by this plugins and by Junit tests
+ *
+ */
+public class MenuUtils {
+
+ /**
+ * Constructor.
+ *
+ */
+ private MenuUtils() {
+ // to prevent instanciation
+ }
+
+ /**
+ * This method allows to register a nattable widget in the eclipse context, in order to get it easily in org.eclipse.papyrus.infra.nattable.handler.AbstractTableHandler.setEnabled(Object)
+ *
+ * @param manager
+ * the table manager
+ * @param labelStack
+ * the labelstack owning the region where concerned by the event
+ */
+ public static final void registerNatTableWidgetInEclipseContext(final INattableModelManager manager, final LabelStack labelStack) {
+ if (null != manager) {
+ registerNatTableWidgetInEclipseContext(manager.getAdapter(NatTable.class), labelStack);
+ }
+ }
+
+ /**
+ * This method allows to register a nattable widget in the eclipse context, in order to get it easily in org.eclipse.papyrus.infra.nattable.handler.AbstractTableHandler.setEnabled(Object)
+ *
+ * @param natTable
+ * the {@link NatTable} widget
+ * @param labelStack
+ * the labelstack owning the region where concerned by the event
+ */
+ public static final void registerNatTableWidgetInEclipseContext(final NatTable natTable, final LabelStack labelStack) {
+ Event e = new Event();
+ e.widget = natTable;
+ NatEventData natEventData = new NatEventData(natTable, labelStack, 0, 0, new MouseEvent(e));
+ registerNatTableWidgetInEclipseContext(natEventData);
+ }
+
+ /**
+ * This method allows to register a nattable widget in the eclipse context, in order to get it easily in org.eclipse.papyrus.infra.nattable.handler.AbstractTableHandler.setEnabled(Object)
+ *
+ * @param natTable
+ * the {@link NatTable} widget
+ */
+ public static final void registerNatTableWidgetInEclipseContext(NatEventData natEventData) {
+ final IMenuService menuService = PlatformUI.getWorkbench().getService(IMenuService.class);
+ final IEvaluationContext state = menuService.getCurrentState();
+
+ // we register the nattable event data here, in order to get i
+ state.addVariable(MenuConstants.NAT_EVENT_DATA_KEY, natEventData);
+ }
+}
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/provider/TableSelectionProvider.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/provider/TableSelectionProvider.java
index f7ab077c8d6..62042a62eef 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/provider/TableSelectionProvider.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/provider/TableSelectionProvider.java
@@ -35,10 +35,10 @@ import org.eclipse.nebula.widgets.nattable.layer.cell.ILayerCell;
import org.eclipse.nebula.widgets.nattable.layer.event.ILayerEvent;
import org.eclipse.nebula.widgets.nattable.selection.SelectionLayer;
import org.eclipse.nebula.widgets.nattable.selection.event.CellSelectionEvent;
+import org.eclipse.nebula.widgets.nattable.selection.event.ColumnSelectionEvent;
import org.eclipse.nebula.widgets.nattable.selection.event.ISelectionEvent;
+import org.eclipse.nebula.widgets.nattable.selection.event.RowSelectionEvent;
import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
-import org.eclipse.papyrus.infra.nattable.selection.event.PapyrusColumnSelectionEvent;
-import org.eclipse.papyrus.infra.nattable.selection.event.PapyrusRowSelectionEvent;
import org.eclipse.papyrus.infra.nattable.utils.AxisUtils;
import org.eclipse.papyrus.infra.nattable.utils.TableSelectionWrapper;
import org.eclipse.papyrus.infra.nattable.utils.TypeSelectionEnum;
@@ -169,15 +169,15 @@ public class TableSelectionProvider implements ISelectionProvider, IDisposable,
isWithShiftMask = ((CellSelectionEvent) event).isWithShiftMask();
isWithControlMask = ((CellSelectionEvent) event).isWithControlMask();
// Check if it is a column selection event
- } else if (event instanceof PapyrusColumnSelectionEvent) {
+ } else if (event instanceof ColumnSelectionEvent) {
typeSelectionEvent = TypeSelectionEnum.COLUMN;
- isWithShiftMask = ((PapyrusColumnSelectionEvent) event).isWithShiftMask();
- isWithControlMask = ((PapyrusColumnSelectionEvent) event).isWithControlMask();
+ isWithShiftMask = ((ColumnSelectionEvent) event).isWithShiftMask();
+ isWithControlMask = ((ColumnSelectionEvent) event).isWithControlMask();
// Check if it is a row selection event
- } else if (event instanceof PapyrusRowSelectionEvent) {
+ } else if (event instanceof RowSelectionEvent) {
typeSelectionEvent = TypeSelectionEnum.ROW;
- isWithShiftMask = ((PapyrusRowSelectionEvent) event).isWithShiftMask();
- isWithControlMask = ((PapyrusRowSelectionEvent) event).isWithControlMask();
+ isWithShiftMask = ((RowSelectionEvent) event).isWithShiftMask();
+ isWithControlMask = ((RowSelectionEvent) event).isWithControlMask();
}
// If this is a specific selection event, manage the selection with event
@@ -321,7 +321,7 @@ public class TableSelectionProvider implements ISelectionProvider, IDisposable,
protected Collection<Object> calculateSelectionRowsAndColumnsWithTypeSelectionEvent(final TableSelectionWrapper wrapper, final TypeSelectionEnum typeSelectionEvent, final ILayerEvent event) {
// Manage the column selection event
if (TypeSelectionEnum.COLUMN.equals(typeSelectionEvent)) {
- for (Range range : ((PapyrusColumnSelectionEvent) event).getColumnPositionRanges()) {
+ for (Range range : ((ColumnSelectionEvent) event).getColumnPositionRanges()) {
for (int index = range.start; index < range.end; index++) {
final int columnIndex = this.selectionLayer.getColumnIndexByPosition(index);
Object el = this.manager.getColumnElement(columnIndex);
@@ -339,7 +339,7 @@ public class TableSelectionProvider implements ISelectionProvider, IDisposable,
}
// Manage the row selection event
} else if (TypeSelectionEnum.ROW.equals(typeSelectionEvent)) {
- for (Range range : ((PapyrusRowSelectionEvent) event).getRowPositionRanges()) {
+ for (Range range : ((RowSelectionEvent) event).getRowPositionRanges()) {
for (int index = range.start; index < range.end; index++) {
final int rowIndex = this.selectionLayer.getRowIndexByPosition(index);
Object el = this.manager.getRowElement(rowIndex);
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/selection/PapyrusSelectColumnCommandHandler.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/selection/PapyrusSelectColumnCommandHandler.java
index fe1c105ebf1..f0ef94fa2cb 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/selection/PapyrusSelectColumnCommandHandler.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/selection/PapyrusSelectColumnCommandHandler.java
@@ -21,8 +21,8 @@ import static org.eclipse.nebula.widgets.nattable.selection.SelectionUtils.noShi
import org.eclipse.nebula.widgets.nattable.layer.ILayer;
import org.eclipse.nebula.widgets.nattable.selection.SelectColumnCommandHandler;
import org.eclipse.nebula.widgets.nattable.selection.command.SelectColumnCommand;
+import org.eclipse.nebula.widgets.nattable.selection.event.ColumnSelectionEvent;
import org.eclipse.papyrus.infra.nattable.layer.PapyrusSelectionLayer;
-import org.eclipse.papyrus.infra.nattable.selection.event.PapyrusColumnSelectionEvent;
import org.eclipse.swt.graphics.Rectangle;
/**
@@ -86,7 +86,7 @@ public class PapyrusSelectColumnCommandHandler extends SelectColumnCommandHandle
// Set last selected column position to the recently clicked column
this.selectionLayer.setLastSelectedCell(columnPosition, rowPosition);
- this.selectionLayer.fireLayerEvent(new PapyrusColumnSelectionEvent(this.selectionLayer,
+ this.selectionLayer.fireLayerEvent(new ColumnSelectionEvent(this.selectionLayer,
columnPosition, withShiftMask, withControlMask));
}
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/selection/PapyrusSelectRowCommandHandler.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/selection/PapyrusSelectRowCommandHandler.java
index 237bb10671e..fcfaa3bf1fa 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/selection/PapyrusSelectRowCommandHandler.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/selection/PapyrusSelectRowCommandHandler.java
@@ -27,8 +27,8 @@ import org.eclipse.nebula.widgets.nattable.layer.ILayer;
import org.eclipse.nebula.widgets.nattable.selection.SelectRowCommandHandler;
import org.eclipse.nebula.widgets.nattable.selection.SelectionLayer;
import org.eclipse.nebula.widgets.nattable.selection.command.SelectRowsCommand;
+import org.eclipse.nebula.widgets.nattable.selection.event.RowSelectionEvent;
import org.eclipse.papyrus.infra.nattable.layer.PapyrusSelectionLayer;
-import org.eclipse.papyrus.infra.nattable.selection.event.PapyrusRowSelectionEvent;
import org.eclipse.swt.graphics.Rectangle;
/**
@@ -97,7 +97,7 @@ public class PapyrusSelectRowCommandHandler extends SelectRowCommandHandler {
}
}
this.selectionLayer.fireLayerEvent(
- new PapyrusRowSelectionEvent(
+ new RowSelectionEvent(
this.selectionLayer, changedRows, rowPositionToMoveIntoViewport, withShiftMask, withControlMask));
}
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/selection/event/PapyrusColumnSelectionEvent.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/selection/event/PapyrusColumnSelectionEvent.java
index 400a3767600..67966d0af32 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/selection/event/PapyrusColumnSelectionEvent.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/selection/event/PapyrusColumnSelectionEvent.java
@@ -18,7 +18,10 @@ import org.eclipse.nebula.widgets.nattable.selection.event.ColumnSelectionEvent;
/**
* The column selection event extended from column selection event (of nattable) to include the shift and the control masks.
+ *
+ * @deprecated since 2.0
*/
+@Deprecated
public class PapyrusColumnSelectionEvent extends ColumnSelectionEvent {
/**
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/selection/event/PapyrusRowSelectionEvent.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/selection/event/PapyrusRowSelectionEvent.java
index 2e80ace33c3..73297de07a6 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/selection/event/PapyrusRowSelectionEvent.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/selection/event/PapyrusRowSelectionEvent.java
@@ -20,7 +20,10 @@ import org.eclipse.nebula.widgets.nattable.selection.event.RowSelectionEvent;
/**
* The row selection event extended from row selection event (of nattable) to include the shift and the control masks.
+ *
+ * @deprecated since 2.0
*/
+@Deprecated
public class PapyrusRowSelectionEvent extends RowSelectionEvent {
/**
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/bugs/AbstractAxisChangeIndexTest.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/bugs/AbstractAxisChangeIndexTest.java
index 701168bcdc5..64d352f7261 100644
--- a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/bugs/AbstractAxisChangeIndexTest.java
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/bugs/AbstractAxisChangeIndexTest.java
@@ -21,13 +21,16 @@ import org.eclipse.core.commands.Command;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.IHandler;
import org.eclipse.core.runtime.IStatus;
+import org.eclipse.nebula.widgets.nattable.grid.GridRegion;
import org.eclipse.nebula.widgets.nattable.grid.layer.RowHeaderLayer;
import org.eclipse.nebula.widgets.nattable.layer.AbstractLayer;
import org.eclipse.nebula.widgets.nattable.layer.DataLayer;
+import org.eclipse.nebula.widgets.nattable.layer.LabelStack;
import org.eclipse.papyrus.infra.core.sashwindows.di.service.IPageManager;
import org.eclipse.papyrus.infra.nattable.common.editor.NatTableEditor;
import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.menu.MenuUtils;
import org.eclipse.papyrus.infra.nattable.model.nattable.Table;
import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.AbstractHeaderAxisConfiguration;
import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.AxisIndexStyle;
@@ -132,7 +135,7 @@ public abstract class AbstractAxisChangeIndexTest extends AbstractPapyrusTest {
NatTableEditor editor = (NatTableEditor) part;
INattableModelManager currentManager = (INattableModelManager) editor.getAdapter(INattableModelManager.class);
Assert.assertTrue(currentManager instanceof INattableModelManager);
-
+ MenuUtils.registerNatTableWidgetInEclipseContext(currentManager, new LabelStack(GridRegion.COLUMN_HEADER));
// check the initial data
checkAlphabeticColumn(currentManager);
@@ -193,7 +196,7 @@ public abstract class AbstractAxisChangeIndexTest extends AbstractPapyrusTest {
NatTableEditor editor = (NatTableEditor) part;
INattableModelManager currentManager = (INattableModelManager) editor.getAdapter(INattableModelManager.class);
Assert.assertTrue(currentManager instanceof INattableModelManager);
-
+ MenuUtils.registerNatTableWidgetInEclipseContext(currentManager, new LabelStack(GridRegion.ROW_HEADER));
// check the initial data
checkNumericRow(currentManager);
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/bugs/AbstractInvertedAxisChangeIndexTest.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/bugs/AbstractInvertedAxisChangeIndexTest.java
index c0bf770c0fa..60481ba8c30 100644
--- a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/bugs/AbstractInvertedAxisChangeIndexTest.java
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/bugs/AbstractInvertedAxisChangeIndexTest.java
@@ -21,13 +21,16 @@ import org.eclipse.core.commands.Command;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.IHandler;
import org.eclipse.core.runtime.IStatus;
+import org.eclipse.nebula.widgets.nattable.grid.GridRegion;
import org.eclipse.nebula.widgets.nattable.grid.layer.RowHeaderLayer;
import org.eclipse.nebula.widgets.nattable.layer.AbstractLayer;
import org.eclipse.nebula.widgets.nattable.layer.DataLayer;
+import org.eclipse.nebula.widgets.nattable.layer.LabelStack;
import org.eclipse.papyrus.infra.core.sashwindows.di.service.IPageManager;
import org.eclipse.papyrus.infra.nattable.common.editor.NatTableEditor;
import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.menu.MenuUtils;
import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.AbstractHeaderAxisConfiguration;
import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.AxisIndexStyle;
import org.eclipse.papyrus.infra.nattable.utils.HeaderAxisConfigurationManagementUtils;
@@ -68,7 +71,7 @@ public abstract class AbstractInvertedAxisChangeIndexTest extends AbstractAxisCh
NatTableEditor editor = (NatTableEditor) part;
INattableModelManager currentManager = (INattableModelManager) editor.getAdapter(INattableModelManager.class);
Assert.assertTrue(currentManager instanceof INattableModelManager);
-
+ MenuUtils.registerNatTableWidgetInEclipseContext(currentManager, new LabelStack(GridRegion.COLUMN_HEADER));
// check the initial data
checkNumericColumn(currentManager);
@@ -130,7 +133,7 @@ public abstract class AbstractInvertedAxisChangeIndexTest extends AbstractAxisCh
NatTableEditor editor = (NatTableEditor) part;
INattableModelManager currentManager = (INattableModelManager) editor.getAdapter(INattableModelManager.class);
Assert.assertTrue(currentManager instanceof INattableModelManager);
-
+ MenuUtils.registerNatTableWidgetInEclipseContext(currentManager, new LabelStack(GridRegion.ROW_HEADER));
// check the initial data
checkAlphabeticRow(currentManager);
diff --git a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/without/service/edit/AbstractOpenTableTest.java b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/without/service/edit/AbstractOpenTableTest.java
index 7dfe07989bf..e5b4bf20fca 100644
--- a/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/without/service/edit/AbstractOpenTableTest.java
+++ b/tests/junit/plugins/sysml/nattable/org.eclipse.papyrus.sysml.nattable.requirement.tests/src/org/eclipse/papyrus/sysml/nattable/requirement/tests/paste/without/service/edit/AbstractOpenTableTest.java
@@ -15,15 +15,17 @@ package org.eclipse.papyrus.sysml.nattable.requirement.tests.paste.without.servi
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.nebula.widgets.nattable.grid.GridRegion;
+import org.eclipse.nebula.widgets.nattable.layer.LabelStack;
import org.eclipse.papyrus.commands.OpenDiagramCommand;
import org.eclipse.papyrus.commands.wrappers.GMFtoEMFCommandWrapper;
import org.eclipse.papyrus.editor.integration.tests.tests.AbstractEditorIntegrationTest;
import org.eclipse.papyrus.infra.core.resource.ModelSet;
-import org.eclipse.papyrus.infra.core.sashwindows.di.service.IPageManager;
import org.eclipse.papyrus.infra.core.services.ServiceException;
import org.eclipse.papyrus.infra.gmfdiag.common.model.NotationUtils;
import org.eclipse.papyrus.infra.nattable.common.editor.NatTableEditor;
import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.menu.MenuUtils;
import org.eclipse.papyrus.infra.nattable.model.nattable.Table;
import org.eclipse.papyrus.junit.utils.GenericUtils;
import org.eclipse.papyrus.sysml.nattable.requirement.tests.Activator;
@@ -61,8 +63,11 @@ public abstract class AbstractOpenTableTest extends AbstractEditorIntegrationTes
INattableModelManager manager = (INattableModelManager) tableEditor.getAdapter(INattableModelManager.class);
Assert.assertNotNull(manager);
Assert.assertEquals(org.eclipse.papyrus.sysml.nattable.requirement.config.Activator.TABLE_TYPE, manager.getTable().getTableConfiguration().getType());
+
+ MenuUtils.registerNatTableWidgetInEclipseContext(manager, new LabelStack(GridRegion.BODY));
}
+
protected Table getTable() throws ServiceException {
Resource notationResource = NotationUtils.getNotationModel(editor.getServicesRegistry().getService(ModelSet.class)).getResource();
Table table = (Table) notationResource.getContents().get(0);
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/bugs/AbstractAxisChangeIndexTest.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/bugs/AbstractAxisChangeIndexTest.java
index c727e5569f0..f8bf85523b8 100644
--- a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/bugs/AbstractAxisChangeIndexTest.java
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/bugs/AbstractAxisChangeIndexTest.java
@@ -20,13 +20,16 @@ import org.eclipse.core.commands.Command;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.IHandler;
import org.eclipse.core.runtime.IStatus;
+import org.eclipse.nebula.widgets.nattable.grid.GridRegion;
import org.eclipse.nebula.widgets.nattable.grid.layer.RowHeaderLayer;
import org.eclipse.nebula.widgets.nattable.layer.AbstractLayer;
import org.eclipse.nebula.widgets.nattable.layer.DataLayer;
+import org.eclipse.nebula.widgets.nattable.layer.LabelStack;
import org.eclipse.papyrus.infra.nattable.common.editor.NatTableEditor;
import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
import org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager;
+import org.eclipse.papyrus.infra.nattable.menu.MenuUtils;
import org.eclipse.papyrus.infra.nattable.model.nattable.Table;
import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.AbstractHeaderAxisConfiguration;
import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.AxisIndexStyle;
@@ -40,7 +43,6 @@ import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.commands.ICommandService;
import org.eclipse.ui.handlers.RadioState;
import org.junit.Assert;
-import org.junit.Before;
import org.junit.Test;
/**
@@ -102,7 +104,7 @@ public abstract class AbstractAxisChangeIndexTest extends AbstractTableTest {
NatTableEditor editor = (NatTableEditor) part;
INattableModelManager currentManager = (INattableModelManager) editor.getAdapter(INattableModelManager.class);
Assert.assertTrue(currentManager instanceof TreeNattableModelManager);
-
+ MenuUtils.registerNatTableWidgetInEclipseContext(currentManager, new LabelStack(GridRegion.COLUMN_HEADER));
// check the initial data
checkAlphabeticColumn(currentManager);
@@ -161,7 +163,7 @@ public abstract class AbstractAxisChangeIndexTest extends AbstractTableTest {
NatTableEditor editor = (NatTableEditor) part;
INattableModelManager currentManager = (INattableModelManager) editor.getAdapter(INattableModelManager.class);
Assert.assertTrue(currentManager instanceof INattableModelManager);
-
+ MenuUtils.registerNatTableWidgetInEclipseContext(currentManager, new LabelStack(GridRegion.ROW_HEADER));
((TreeNattableModelManager) currentManager).doCollapseExpandAction(CollapseAndExpandActionsEnum.EXPAND_ALL, null);
// check the initial data
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/tests/AbstractOpenTableTest.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/tests/AbstractOpenTableTest.java
index 11eb16fc085..821e7a978e0 100644
--- a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/tests/AbstractOpenTableTest.java
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/tests/AbstractOpenTableTest.java
@@ -15,6 +15,8 @@ package org.eclipse.papyrus.uml.nattable.clazz.config.tests.tests;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.nebula.widgets.nattable.grid.GridRegion;
+import org.eclipse.nebula.widgets.nattable.layer.LabelStack;
import org.eclipse.papyrus.commands.OpenDiagramCommand;
import org.eclipse.papyrus.editor.integration.tests.tests.AbstractEditorIntegrationTest;
import org.eclipse.papyrus.infra.core.resource.ModelSet;
@@ -24,6 +26,7 @@ import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
import org.eclipse.papyrus.infra.gmfdiag.common.model.NotationUtils;
import org.eclipse.papyrus.infra.nattable.common.editor.NatTableEditor;
import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.menu.MenuUtils;
import org.eclipse.papyrus.infra.nattable.model.nattable.Table;
import org.eclipse.papyrus.junit.utils.GenericUtils;
import org.eclipse.papyrus.uml.nattable.clazz.config.tests.Activator;
@@ -45,7 +48,7 @@ public abstract class AbstractOpenTableTest extends AbstractEditorIntegrationTes
*/
public void testOpenExistingTable(String projectName, String modelName) throws Exception {
- // initModel(projectName, modelName, getBundle()); //$NON-NLS-1$ //$NON-NLS-2$
+ // initModel(projectName, modelName, getBundle()); //$NON-NLS-1$ //$NON-NLS-2$
IPageManager pageManager = editor.getServicesRegistry().getService(IPageManager.class);
IEditorPart tableEditor = editor.getActiveEditor();
Assert.assertNull(tableEditor);
@@ -60,6 +63,20 @@ public abstract class AbstractOpenTableTest extends AbstractEditorIntegrationTes
INattableModelManager manager = (INattableModelManager) tableEditor.getAdapter(INattableModelManager.class);
Assert.assertNotNull(manager);
Assert.assertEquals(org.eclipse.papyrus.uml.nattable.clazz.config.Activator.TABLE_TYPE, manager.getTable().getTableConfiguration().getType());
+
+ registerNattableWidgetInEclipseContext(manager, new LabelStack(GridRegion.BODY));
+ }
+
+ /**
+ * This method register the nattable widget in the eclipse context, to be able to get is in the the setEnable(Objet) of the handlers
+ *
+ *
+ * @see org.eclipse.papyrus.infra.nattable.handler.AbstractTableHandler.getCurrentNattableModelManager()
+ * @param manager
+ * the nattable manager
+ */
+ protected void registerNattableWidgetInEclipseContext(INattableModelManager manager, LabelStack regionLabels) {
+ MenuUtils.registerNatTableWidgetInEclipseContext(manager, regionLabels);
}
protected Table getTable() throws ServiceException {
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/tests/AbstractTableTest.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/tests/AbstractTableTest.java
index 31765ad17ca..b0ae462d2dd 100755
--- a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/tests/AbstractTableTest.java
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.clazz.config.tests/src/org/eclipse/papyrus/uml/nattable/clazz/config/tests/tests/AbstractTableTest.java
@@ -17,12 +17,15 @@ import java.util.List;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.gmf.runtime.emf.clipboard.core.ClipboardUtil;
import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.grid.GridRegion;
+import org.eclipse.nebula.widgets.nattable.layer.LabelStack;
import org.eclipse.osgi.util.NLS;
import org.eclipse.papyrus.infra.nattable.common.editor.NatTableEditor;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
import org.eclipse.papyrus.infra.nattable.manager.table.TreeNattableModelManager;
+import org.eclipse.papyrus.infra.nattable.menu.MenuUtils;
import org.eclipse.papyrus.infra.nattable.model.nattable.Table;
import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.TreeFillingConfiguration;
import org.eclipse.papyrus.infra.nattable.tree.CollapseAndExpandActionsEnum;
@@ -65,12 +68,26 @@ public class AbstractTableTest extends AbstractPapyrusTest {
/**
* this method initialize some field for the test + expand all the table + check the initial state of the table
+ *
+ *
*/
protected void startTest() {
this.manager = (TreeNattableModelManager) fixture.getActiveTableManager();
this.natTable = (NatTable) this.manager.getAdapter(NatTable.class);
manager.doCollapseExpandAction(CollapseAndExpandActionsEnum.EXPAND_ALL, null);
fixture.flushDisplayEvents();
+ registerNattableWidgetInEclipseContext(manager, new LabelStack(GridRegion.BODY));
+ }
+
+ /**
+ * This method register the nattable widget in the eclipse context, to be able to get is in the the setEnable(Objet) of the handlers
+ *
+ * @see org.eclipse.papyrus.infra.nattable.handler.AbstractTableHandler.getCurrentNattableModelManager()
+ * @param manager
+ * the nattable manager
+ */
+ protected void registerNattableWidgetInEclipseContext(INattableModelManager manager, LabelStack regionLabels) {
+ MenuUtils.registerNatTableWidgetInEclipseContext(manager, regionLabels);
}
/**
@@ -157,7 +174,7 @@ public class AbstractTableTest extends AbstractPapyrusTest {
* @return
* the source path to use to load files
*
- * must be overridden by sub classes
+ * must be overridden by sub classes
*/
protected String getSourcePath() {
return null;
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/org.eclipse.papyrus.uml.nattable.generic.tests.launch b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/org.eclipse.papyrus.uml.nattable.generic.tests.launch
index 549adbc9b5a..967b3b73daf 100755
--- a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/org.eclipse.papyrus.uml.nattable.generic.tests.launch
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/org.eclipse.papyrus.uml.nattable.generic.tests.launch
@@ -1,41 +1,41 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="automaticAdd" value="true"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="clearws" value="true"/>
-<booleanAttribute key="clearwslog" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
-<booleanAttribute key="default" value="true"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.papyrus.uml.nattable.generic.tests"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="4"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value="=org.eclipse.papyrus.uml.nattable.generic.tests"/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
-<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value=""/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.papyrus.uml.nattable.generic.tests"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dosgi.requiredJavaVersion=1.7 -Xms1024m -Xmx4096m"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="product" value="org.eclipse.platform.ide"/>
-<booleanAttribute key="run_in_ui_thread" value="true"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useCustomFeatures" value="false"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<booleanAttribute key="useDefaultConfigArea" value="false"/>
-<booleanAttribute key="useProduct" value="true"/>
-</launchConfiguration>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
+<booleanAttribute key="append.args" value="true"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="true"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
+<booleanAttribute key="default" value="true"/>
+<booleanAttribute key="includeOptional" value="true"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/tests/AllTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.papyrus.uml.nattable.generic.tests.tests.AllTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.papyrus.uml.nattable.generic.tests"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dosgi.requiredJavaVersion=1.7 -Xms1024m -Xmx4096m"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.platform.ide"/>
+<booleanAttribute key="run_in_ui_thread" value="true"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="false"/>
+<booleanAttribute key="useProduct" value="true"/>
+</launchConfiguration>
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/bugs/AbstractAxisChangeIndexTest.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/bugs/AbstractAxisChangeIndexTest.java
index dc31a79c7ce..de19c3c1ab6 100644
--- a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/bugs/AbstractAxisChangeIndexTest.java
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/bugs/AbstractAxisChangeIndexTest.java
@@ -21,13 +21,16 @@ import org.eclipse.core.commands.Command;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.IHandler;
import org.eclipse.core.runtime.IStatus;
+import org.eclipse.nebula.widgets.nattable.grid.GridRegion;
import org.eclipse.nebula.widgets.nattable.grid.layer.RowHeaderLayer;
import org.eclipse.nebula.widgets.nattable.layer.AbstractLayer;
import org.eclipse.nebula.widgets.nattable.layer.DataLayer;
+import org.eclipse.nebula.widgets.nattable.layer.LabelStack;
import org.eclipse.papyrus.infra.core.sashwindows.di.service.IPageManager;
import org.eclipse.papyrus.infra.nattable.common.editor.NatTableEditor;
import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.menu.MenuUtils;
import org.eclipse.papyrus.infra.nattable.model.nattable.Table;
import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.AbstractHeaderAxisConfiguration;
import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.AxisIndexStyle;
@@ -131,6 +134,7 @@ public abstract class AbstractAxisChangeIndexTest extends AbstractPapyrusTest {
Assert.assertTrue(part instanceof NatTableEditor);
NatTableEditor editor = (NatTableEditor) part;
INattableModelManager currentManager = (INattableModelManager) editor.getAdapter(INattableModelManager.class);
+ MenuUtils.registerNatTableWidgetInEclipseContext(currentManager, new LabelStack(GridRegion.COLUMN_HEADER));
Assert.assertTrue(currentManager instanceof INattableModelManager);
// check the initial data
@@ -193,7 +197,7 @@ public abstract class AbstractAxisChangeIndexTest extends AbstractPapyrusTest {
NatTableEditor editor = (NatTableEditor) part;
INattableModelManager currentManager = (INattableModelManager) editor.getAdapter(INattableModelManager.class);
Assert.assertTrue(currentManager instanceof INattableModelManager);
-
+ MenuUtils.registerNatTableWidgetInEclipseContext(currentManager, new LabelStack(GridRegion.ROW_HEADER));
// check the initial data
checkNumericRow(currentManager);
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/bugs/AbstractInvertedAxisChangeIndexTest.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/bugs/AbstractInvertedAxisChangeIndexTest.java
index 9210a4acd41..f5fc5103e62 100644
--- a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/bugs/AbstractInvertedAxisChangeIndexTest.java
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/bugs/AbstractInvertedAxisChangeIndexTest.java
@@ -21,13 +21,16 @@ import org.eclipse.core.commands.Command;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.IHandler;
import org.eclipse.core.runtime.IStatus;
+import org.eclipse.nebula.widgets.nattable.grid.GridRegion;
import org.eclipse.nebula.widgets.nattable.grid.layer.RowHeaderLayer;
import org.eclipse.nebula.widgets.nattable.layer.AbstractLayer;
import org.eclipse.nebula.widgets.nattable.layer.DataLayer;
+import org.eclipse.nebula.widgets.nattable.layer.LabelStack;
import org.eclipse.papyrus.infra.core.sashwindows.di.service.IPageManager;
import org.eclipse.papyrus.infra.nattable.common.editor.NatTableEditor;
import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.menu.MenuUtils;
import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.AbstractHeaderAxisConfiguration;
import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.AxisIndexStyle;
import org.eclipse.papyrus.infra.nattable.utils.HeaderAxisConfigurationManagementUtils;
@@ -67,6 +70,7 @@ public abstract class AbstractInvertedAxisChangeIndexTest extends AbstractAxisCh
Assert.assertTrue(part instanceof NatTableEditor);
NatTableEditor editor = (NatTableEditor) part;
INattableModelManager currentManager = (INattableModelManager) editor.getAdapter(INattableModelManager.class);
+ MenuUtils.registerNatTableWidgetInEclipseContext(currentManager, new LabelStack(GridRegion.COLUMN_HEADER));
Assert.assertTrue(currentManager instanceof INattableModelManager);
// check the initial data
@@ -130,7 +134,7 @@ public abstract class AbstractInvertedAxisChangeIndexTest extends AbstractAxisCh
NatTableEditor editor = (NatTableEditor) part;
INattableModelManager currentManager = (INattableModelManager) editor.getAdapter(INattableModelManager.class);
Assert.assertTrue(currentManager instanceof INattableModelManager);
-
+ MenuUtils.registerNatTableWidgetInEclipseContext(currentManager, new LabelStack(GridRegion.ROW_HEADER));
// check the initial data
checkAlphabeticRow(currentManager);
diff --git a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/tests/AbstractGenericTableTest.java b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/tests/AbstractGenericTableTest.java
index e38d1461e61..5d561259bb1 100755
--- a/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/tests/AbstractGenericTableTest.java
+++ b/tests/junit/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable.generic.tests/src/org/eclipse/papyrus/uml/nattable/generic/tests/tests/AbstractGenericTableTest.java
@@ -18,6 +18,8 @@ import java.util.Collection;
import org.eclipse.core.resources.IFile;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.nebula.widgets.nattable.grid.GridRegion;
+import org.eclipse.nebula.widgets.nattable.layer.LabelStack;
import org.eclipse.papyrus.commands.OpenDiagramCommand;
import org.eclipse.papyrus.editor.integration.tests.tests.AbstractEditorIntegrationTest;
import org.eclipse.papyrus.infra.core.resource.ModelSet;
@@ -26,6 +28,7 @@ import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
import org.eclipse.papyrus.infra.gmfdiag.common.model.NotationUtils;
import org.eclipse.papyrus.infra.nattable.common.editor.NatTableEditor;
import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.menu.MenuUtils;
import org.eclipse.papyrus.infra.nattable.model.nattable.Table;
import org.eclipse.papyrus.junit.utils.EditorUtils;
import org.eclipse.papyrus.junit.utils.GenericUtils;
@@ -109,6 +112,7 @@ public abstract class AbstractGenericTableTest extends AbstractEditorIntegration
INattableModelManager manager = (INattableModelManager) tableEditor.getAdapter(INattableModelManager.class);
Assert.assertNotNull(manager);
Assert.assertEquals(org.eclipse.papyrus.uml.nattable.generic.config.Activator.TABLE_TYPE, manager.getTable().getTableConfiguration().getType());
+ MenuUtils.registerNatTableWidgetInEclipseContext(manager, new LabelStack(GridRegion.BODY));
}
protected Table getTable() throws ServiceException {

Back to the top