Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohannes Faltermeier2017-01-23 15:55:18 +0000
committerJohannes Faltermeier2017-01-24 09:43:48 +0000
commitc6151c6c211525c78efe68f1b67049453b1b0c3f (patch)
treec3c01a4febd5b39a72d53b660ddea0fe05f53aba
parentfda162943fa84faac628e8c6c7155e58c3132bc9 (diff)
downloadorg.eclipse.emf.ecp.core-backport_161108.tar.gz
org.eclipse.emf.ecp.core-backport_161108.tar.xz
org.eclipse.emf.ecp.core-backport_161108.zip
Bug 510886 - TableControlRCPRenderer sometimes produces incomprehensiblebackport_161108
paste behavior * remove static instance code Change-Id: Ife00b4c481f918254eeb91e559115791f8107b53 Signed-off-by: Johannes Faltermeier <jfaltermeier@eclipsesource.com>
-rw-r--r--bundles/org.eclipse.emf.ecp.view.table.ui.rcp/src/org/eclipse/emf/ecp/view/spi/table/ui/rcp/TableControlDetailDialogRCPRenderer.java13
-rw-r--r--bundles/org.eclipse.emf.ecp.view.table.ui.rcp/src/org/eclipse/emf/ecp/view/spi/table/ui/rcp/TableControlDetailPanelRCPRenderer.java13
-rw-r--r--bundles/org.eclipse.emf.ecp.view.table.ui.rcp/src/org/eclipse/emf/ecp/view/spi/table/ui/rcp/TableControlRCPRenderer.java12
3 files changed, 30 insertions, 8 deletions
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.rcp/src/org/eclipse/emf/ecp/view/spi/table/ui/rcp/TableControlDetailDialogRCPRenderer.java b/bundles/org.eclipse.emf.ecp.view.table.ui.rcp/src/org/eclipse/emf/ecp/view/spi/table/ui/rcp/TableControlDetailDialogRCPRenderer.java
index c49c85a395..12a4141928 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.rcp/src/org/eclipse/emf/ecp/view/spi/table/ui/rcp/TableControlDetailDialogRCPRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.rcp/src/org/eclipse/emf/ecp/view/spi/table/ui/rcp/TableControlDetailDialogRCPRenderer.java
@@ -42,6 +42,9 @@ import org.eclipse.swt.widgets.Control;
*
*/
public class TableControlDetailDialogRCPRenderer extends TableControlDetailDialogSWTRenderer {
+
+ private CutCopyPasteListener cutCopyPasteListener;
+
/**
* Default constructor.
*
@@ -89,7 +92,7 @@ public class TableControlDetailDialogRCPRenderer extends TableControlDetailDialo
final EditingDomain editingDomain = getEditingDomain(getViewModelContext().getDomainModel());
final Setting setting = getEMFFormsDatabinding().getSetting(getDMRToMultiReference(),
getViewModelContext().getDomainModel());
- TableControlRCPRenderer.enableCutCopyPaste(tableViewer, editingDomain, setting);
+ cutCopyPasteListener = TableControlRCPRenderer.enableCutCopyPaste(tableViewer, editingDomain, setting);
} catch (final DatabindingFailedException ex) {
getReportService().report(new AbstractReport(ex, "Enabling Cut Copy Paste failed")); //$NON-NLS-1$
}
@@ -97,4 +100,12 @@ public class TableControlDetailDialogRCPRenderer extends TableControlDetailDialo
return control;
}
+ @Override
+ protected void rootDomainModelChanged() throws DatabindingFailedException {
+ super.rootDomainModelChanged();
+ final Setting setting = getEMFFormsDatabinding().getSetting(getDMRToMultiReference(),
+ getViewModelContext().getDomainModel());
+ cutCopyPasteListener.rootDomainModelChanged(setting);
+ }
+
}
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.rcp/src/org/eclipse/emf/ecp/view/spi/table/ui/rcp/TableControlDetailPanelRCPRenderer.java b/bundles/org.eclipse.emf.ecp.view.table.ui.rcp/src/org/eclipse/emf/ecp/view/spi/table/ui/rcp/TableControlDetailPanelRCPRenderer.java
index 4e4870d59f..9d8016defb 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.rcp/src/org/eclipse/emf/ecp/view/spi/table/ui/rcp/TableControlDetailPanelRCPRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.rcp/src/org/eclipse/emf/ecp/view/spi/table/ui/rcp/TableControlDetailPanelRCPRenderer.java
@@ -42,6 +42,9 @@ import org.eclipse.swt.widgets.Control;
*
*/
public class TableControlDetailPanelRCPRenderer extends TableControlDetailPanelRenderer {
+
+ private CutCopyPasteListener cutCopyPasteListener;
+
/**
* Default constructor.
*
@@ -89,11 +92,19 @@ public class TableControlDetailPanelRCPRenderer extends TableControlDetailPanelR
final EditingDomain editingDomain = getEditingDomain(getViewModelContext().getDomainModel());
final Setting setting = getEMFFormsDatabinding().getSetting(getDMRToMultiReference(),
getViewModelContext().getDomainModel());
- TableControlRCPRenderer.enableCutCopyPaste(tableViewer, editingDomain, setting);
+ cutCopyPasteListener = TableControlRCPRenderer.enableCutCopyPaste(tableViewer, editingDomain, setting);
} catch (final DatabindingFailedException ex) {
getReportService().report(new AbstractReport(ex, "Enabling Cut Copy Paste failed")); //$NON-NLS-1$
}
}
return control;
}
+
+ @Override
+ protected void rootDomainModelChanged() throws DatabindingFailedException {
+ super.rootDomainModelChanged();
+ final Setting setting = getEMFFormsDatabinding().getSetting(getDMRToMultiReference(),
+ getViewModelContext().getDomainModel());
+ cutCopyPasteListener.rootDomainModelChanged(setting);
+ }
}
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.rcp/src/org/eclipse/emf/ecp/view/spi/table/ui/rcp/TableControlRCPRenderer.java b/bundles/org.eclipse.emf.ecp.view.table.ui.rcp/src/org/eclipse/emf/ecp/view/spi/table/ui/rcp/TableControlRCPRenderer.java
index 51636087b8..9b82a45084 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.rcp/src/org/eclipse/emf/ecp/view/spi/table/ui/rcp/TableControlRCPRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.rcp/src/org/eclipse/emf/ecp/view/spi/table/ui/rcp/TableControlRCPRenderer.java
@@ -44,7 +44,7 @@ import org.eclipse.swt.widgets.Control;
*/
public class TableControlRCPRenderer extends TableControlSWTRenderer {
- private static CutCopyPasteListener cutCopyPasteListener;
+ private CutCopyPasteListener cutCopyPasteListener;
/**
* Default constructor.
@@ -93,7 +93,7 @@ public class TableControlRCPRenderer extends TableControlSWTRenderer {
final EditingDomain editingDomain = getEditingDomain(getViewModelContext().getDomainModel());
final Setting setting = getEMFFormsDatabinding().getSetting(getDMRToMultiReference(),
getViewModelContext().getDomainModel());
- enableCutCopyPaste(tableViewer, editingDomain, setting);
+ cutCopyPasteListener = enableCutCopyPaste(tableViewer, editingDomain, setting);
} catch (final DatabindingFailedException ex) {
getReportService().report(new AbstractReport(ex, "Enabling Cut Copy Paste failed")); //$NON-NLS-1$
}
@@ -107,13 +107,14 @@ public class TableControlRCPRenderer extends TableControlSWTRenderer {
* @param tableViewer the {@link TableViewer}
* @param editingDomain the {@link EditingDomain}
* @param setting the {@link Setting} displayed in the table
+ * @return the {@link CutCopyPasteListener} or <code>null</code>
*/
- static void enableCutCopyPaste(AbstractTableViewer tableViewer, EditingDomain editingDomain,
+ static CutCopyPasteListener enableCutCopyPaste(AbstractTableViewer tableViewer, EditingDomain editingDomain,
Setting setting) {
if (!TableViewer.class.isInstance(tableViewer)) {
- return;
+ return null;
}
- cutCopyPasteListener = new CutCopyPasteListener((TableViewer) tableViewer, editingDomain, setting);
+ return new CutCopyPasteListener((TableViewer) tableViewer, editingDomain, setting);
}
@Override
@@ -122,7 +123,6 @@ public class TableControlRCPRenderer extends TableControlSWTRenderer {
final Setting setting = getEMFFormsDatabinding().getSetting(getDMRToMultiReference(),
getViewModelContext().getDomainModel());
cutCopyPasteListener.rootDomainModelChanged(setting);
-
}
}

Back to the top