Bug 506052 - Grid Table Renderer Scrolling and Editor Deactivation

Change-Id: Iad2c628a3b71c4db7d440eff02132a1fa9b9f41f
Signed-off-by: Johannes Faltermeier <jfaltermeier@eclipsesource.com>
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridControlSWTRenderer.java
index 8ce69f5..09e3132 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.nebula.grid/src/org/eclipse/emf/ecp/view/spi/table/nebula/grid/GridControlSWTRenderer.java
@@ -91,13 +91,12 @@
 		public GridTableViewer createTableViewer(Composite parent) {
 
 			final GridTableViewer tableViewer = new GridTableViewer(parent,
-				SWT.MULTI | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER);
+				SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION | SWT.BORDER);
 			tableViewer.getGrid().setData(CUSTOM_VARIANT, TABLE_CUSTOM_VARIANT);
 			tableViewer.getGrid().setHeaderVisible(true);
 			tableViewer.getGrid().setLinesVisible(true);
 			tableViewer.getGrid().setCellSelectionEnabled(true);
 			tableViewer.getGrid().setFooterVisible(false);
-			tableViewer.getGrid().setRowHeaderVisible(true);
 
 			tableViewer.getGrid().addKeyListener(new GridCopyKeyListener(tableViewer.getGrid().getDisplay()));
 			tableViewer.getGrid()
@@ -172,6 +171,10 @@
 						|| event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC) {
 						return true;
 					}
+					if (event.eventType == ColumnViewerEditorActivationEvent.MOUSE_CLICK_SELECTION
+						&& gridTableViewer.isCellEditorActive()) {
+						gridTableViewer.applyEditorValue();
+					}
 
 					if (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED) {