Index: TXM/trunk/org.txm.specificities.rcp/src/org/txm/specificities/rcp/editors/SpecificitiesTableLabelProvider.java
===================================================================
--- TXM/trunk/org.txm.specificities.rcp/src/org/txm/specificities/rcp/editors/SpecificitiesTableLabelProvider.java	(revision 3550)
+++ TXM/trunk/org.txm.specificities.rcp/src/org/txm/specificities/rcp/editors/SpecificitiesTableLabelProvider.java	(revision 3551)
@@ -103,6 +103,9 @@
 		else if (columnIndex == 2) { // separator column
 			return EMPTY;
 		}
+		else if (columnIndex == editor.getTableViewer().getTable().getColumnCount() - 1) { // last column
+			return EMPTY;
+		}
 		else if (columnIndex == (line.freqs.length * separatorOffset) + 3) { // separator column
 			return EMPTY;
 		}
Index: TXM/trunk/org.txm.specificities.rcp/src/org/txm/specificities/rcp/editors/SpecificitiesEditor.java
===================================================================
--- TXM/trunk/org.txm.specificities.rcp/src/org/txm/specificities/rcp/editors/SpecificitiesEditor.java	(revision 3550)
+++ TXM/trunk/org.txm.specificities.rcp/src/org/txm/specificities/rcp/editors/SpecificitiesEditor.java	(revision 3551)
@@ -50,6 +50,7 @@
 import org.txm.rcp.editors.TableKeyListener;
 import org.txm.rcp.editors.listeners.ComputeKeyListener;
 import org.txm.rcp.editors.listeners.ComputeSelectionListener;
+import org.txm.rcp.preferences.RCPPreferences;
 import org.txm.rcp.swt.GLComposite;
 import org.txm.rcp.swt.widget.LabeledSpinner;
 import org.txm.rcp.swt.widget.ThresholdsGroup;
@@ -251,6 +252,9 @@
 			if (len == 2 && this.getResult().getParent().getParent() instanceof Subcorpus) {
 				len--; // show only the first column specifs since they are the same (modulo signus)
 			}
+			
+			int MAX_NUMBER_OF_COLUMNS = RCPPreferences.getInstance().getInt(RCPPreferences.MAX_NUMBER_OF_COLUMNS);
+			
 			if (!update
 			// //&& this.getResult().hasBeenComputedOnce()
 			) {
@@ -265,7 +269,13 @@
 				
 				// System.out.println("partnames: "+Arrays.toString(partNames));
 				// for each lexical table column
+				
 				for (int i = 0, firstLexicalTableColumnIndex = 3; i < len; i++, firstLexicalTableColumnIndex += 2) {
+
+					if (i+3 >= MAX_NUMBER_OF_COLUMNS) {
+						Log.warning(NLS.bind("Warning The number of columns exceeds {0}. the table has been cut. You can, change the maximum in the TXM > User preference page", MAX_NUMBER_OF_COLUMNS));
+						break;
+					}
 					
 					// System.err.println("SpecificitiesEditor.updateEditorFromResult() creating column freq at index " + firstLexicalTableColumnIndex);
 					
@@ -334,6 +344,12 @@
 			
 			// Updating the table headers from lexical table values
 			for (int i = 0, firstLexicalTableColumnIndex = 3; i < len; i++, firstLexicalTableColumnIndex += 2) {
+				
+				if (i+3 >= MAX_NUMBER_OF_COLUMNS) {
+//					Log.warning(NLS.bind("Warning The number of columns exceeds {0}. the table has been cut. You can, change the maximum in the TXM > User preference page", MAX_NUMBER_OF_COLUMNS));
+					break;
+				}
+				
 				// frequency columns
 				TableColumn freqpartTableColumn = specificitesTable.getColumn(firstLexicalTableColumnIndex);
 				text = lexicalTableColumnNames[i];
Index: TXM/trunk/org.txm.internalview.rcp/src/org/txm/internalview/rcp/editors/InternalViewEditor.java
===================================================================
--- TXM/trunk/org.txm.internalview.rcp/src/org/txm/internalview/rcp/editors/InternalViewEditor.java	(revision 3550)
+++ TXM/trunk/org.txm.internalview.rcp/src/org/txm/internalview/rcp/editors/InternalViewEditor.java	(revision 3551)
@@ -186,7 +186,7 @@
 		// Button style = new Button(navigationPanel, SWT.RADIO);
 		// style.setText("table");
 		
-		viewer = new TableViewer(resultPanel);
+		viewer = new TableViewer(resultPanel, SWT.FULL_SELECTION | SWT.VIRTUAL);
 		viewer.getTable().addKeyListener(new TableKeyListener(viewer));
 		viewer.getTable().setLinesVisible(true);
 		viewer.getTable().setHeaderVisible(true);
Index: TXM/trunk/org.txm.tigersearch.rcp/src/org/txm/tigersearch/editors/TSIndexEditor.java
===================================================================
--- TXM/trunk/org.txm.tigersearch.rcp/src/org/txm/tigersearch/editors/TSIndexEditor.java	(revision 3550)
+++ TXM/trunk/org.txm.tigersearch.rcp/src/org/txm/tigersearch/editors/TSIndexEditor.java	(revision 3551)
@@ -841,7 +841,7 @@
 		tableLayoutData.right = new FormAttachment(100);
 		viewer.getTable().setLayoutData(tableLayoutData);
 		
-		viewer.setLabelProvider(new LineLabelProvider());
+		viewer.setLabelProvider(new LineLabelProvider(viewer.getTable()));
 		viewer.setContentProvider(new LineContentProvider());
 		viewer.setInput(new ArrayList<Property>());
 		
Index: TXM/trunk/org.txm.index.rcp/src/org/txm/index/rcp/editors/PartitionIndexEditor.java
===================================================================
--- TXM/trunk/org.txm.index.rcp/src/org/txm/index/rcp/editors/PartitionIndexEditor.java	(revision 3550)
+++ TXM/trunk/org.txm.index.rcp/src/org/txm/index/rcp/editors/PartitionIndexEditor.java	(revision 3551)
@@ -31,6 +31,7 @@
 import java.util.List;
 
 import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.osgi.util.NLS;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
@@ -56,6 +57,7 @@
 import org.txm.rcp.editors.listeners.ComputeKeyListener;
 import org.txm.rcp.editors.listeners.ComputeSelectionListener;
 import org.txm.rcp.messages.TXMUIMessages;
+import org.txm.rcp.preferences.RCPPreferences;
 import org.txm.rcp.swt.GLComposite;
 import org.txm.rcp.swt.widget.AssistedChoiceQueryWidget;
 import org.txm.rcp.swt.widget.NavigationWidget;
@@ -319,7 +321,7 @@
 		// results
 		Composite resultArea = this.getResultArea();
 		
-		viewer = new TableViewer(resultArea, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);
+		viewer = new TableViewer(resultArea, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER | SWT.VIRTUAL);
 		
 		viewer.getTable().setLinesVisible(true);
 		viewer.getTable().setHeaderVisible(true);
@@ -336,7 +338,7 @@
 		
 		viewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));
 		
-		viewer.setLabelProvider(new LineLabelProvider());
+		viewer.setLabelProvider(new LineLabelProvider(viewer.getTable()));
 		viewer.setContentProvider(new LineContentProvider());
 		viewer.setInput(new ArrayList<Property>());
 		
@@ -447,7 +449,16 @@
 			List<String> partnames = index.getPartition().getPartNames();
 			if (partnames.size() > 1) {
 				if (viewer.getTable().getColumnCount() < partnames.size() + 3) {
+					
+					int MAX_NUMBER_OF_COLUMNS = RCPPreferences.getInstance().getInt(RCPPreferences.MAX_NUMBER_OF_COLUMNS);
+					
 					for (int i = 0; i < partnames.size(); i++) {
+						
+						if (i >= MAX_NUMBER_OF_COLUMNS) {
+							Log.warning(NLS.bind("Warning The number of columns exceeds {0}. the table has been cut. You can, change the maximum in the TXM > User preference page", MAX_NUMBER_OF_COLUMNS));
+							break;
+						}
+						
 						final TableColumn partColumn = new TableColumn(viewer.getTable(), SWT.RIGHT);
 						try {
 							partColumn.setText(partnames.get(i) + " t=" + parts.get(i).getSize()); //$NON-NLS-1$
Index: TXM/trunk/org.txm.index.rcp/src/org/txm/index/rcp/editors/IndexEditor.java
===================================================================
--- TXM/trunk/org.txm.index.rcp/src/org/txm/index/rcp/editors/IndexEditor.java	(revision 3550)
+++ TXM/trunk/org.txm.index.rcp/src/org/txm/index/rcp/editors/IndexEditor.java	(revision 3551)
@@ -322,7 +322,7 @@
 		// results
 		Composite resultArea = this.getResultArea();
 		
-		viewer = new TableViewer(resultArea, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);
+		viewer = new TableViewer(resultArea, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER | SWT.VIRTUAL);
 		
 		viewer.getTable().setLinesVisible(true);
 		viewer.getTable().setHeaderVisible(true);
@@ -339,7 +339,7 @@
 		
 		viewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));
 		
-		viewer.setLabelProvider(new LineLabelProvider());
+		viewer.setLabelProvider(new LineLabelProvider(viewer.getTable()));
 		viewer.setContentProvider(new LineContentProvider());
 		viewer.setInput(new ArrayList<Property>());
 		
Index: TXM/trunk/org.txm.index.rcp/src/org/txm/index/rcp/editors/LineLabelProvider.java
===================================================================
--- TXM/trunk/org.txm.index.rcp/src/org/txm/index/rcp/editors/LineLabelProvider.java	(revision 3550)
+++ TXM/trunk/org.txm.index.rcp/src/org/txm/index/rcp/editors/LineLabelProvider.java	(revision 3551)
@@ -30,6 +30,7 @@
 import org.eclipse.jface.viewers.ILabelProviderListener;
 import org.eclipse.jface.viewers.ITableLabelProvider;
 import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Table;
 import org.txm.index.core.functions.Line;
 
 // TODO: Auto-generated Javadoc
@@ -38,6 +39,12 @@
  */
 public class LineLabelProvider implements ITableLabelProvider {
 	
+	Table table;
+	
+	public LineLabelProvider(Table table) {
+		this.table = table;
+	}
+	
 	/*
 	 * (non-Javadoc)
 	 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int)
@@ -47,6 +54,8 @@
 		return null;
 	}
 	
+	public final static String EMPTY = "";
+	
 	/*
 	 * (non-Javadoc)
 	 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
@@ -56,17 +65,20 @@
 		Line line = (Line) element;
 		switch (columnIndex) {
 			case 0:
-				return ""; //$NON-NLS-1$
+				return EMPTY; //$NON-NLS-1$
 			case 1:
 				return line.toString();
 			case 2:
-				return "" + line.getFrequency(); //$NON-NLS-1$
+				return EMPTY + line.getFrequency(); //$NON-NLS-1$
 			default:
-				if (line.getFrequencies().length > 1
+				if (columnIndex  == table.getColumnCount() - 1) {
+					return EMPTY; //$NON-NLS-1$
+				}
+				else if (line.getFrequencies().length > 1
 						&& columnIndex - 3 < line.getFrequencies().length)
 					return "" + line.getFrequency(columnIndex - 3); //$NON-NLS-1$
 				else
-					return "";//$NON-NLS-1$
+					return EMPTY;//$NON-NLS-1$
 		}
 	}
 	
Index: TXM/trunk/org.txm.cooccurrence.rcp/src/org/txm/cooccurrence/rcp/editors/CooccurrencesEditor.java
===================================================================
--- TXM/trunk/org.txm.cooccurrence.rcp/src/org/txm/cooccurrence/rcp/editors/CooccurrencesEditor.java	(revision 3550)
+++ TXM/trunk/org.txm.cooccurrence.rcp/src/org/txm/cooccurrence/rcp/editors/CooccurrencesEditor.java	(revision 3551)
@@ -328,7 +328,7 @@
 		// result area
 		Composite resultArea = this.getResultArea();
 		
-		viewer = new TableViewer(resultArea, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);
+		viewer = new TableViewer(resultArea, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER | SWT.VIRTUAL);
 		viewer.getTable().addKeyListener(new TableKeyListener(viewer));
 		viewer.getTable().setLinesVisible(true);
 		viewer.getTable().setHeaderVisible(true);
Index: TXM/trunk/org.txm.concordance.rcp/src/org/txm/concordance/rcp/editors/ConcordanceEditor.java
===================================================================
--- TXM/trunk/org.txm.concordance.rcp/src/org/txm/concordance/rcp/editors/ConcordanceEditor.java	(revision 3550)
+++ TXM/trunk/org.txm.concordance.rcp/src/org/txm/concordance/rcp/editors/ConcordanceEditor.java	(revision 3551)
@@ -454,9 +454,7 @@
 				sash.getParent().layout();
 			}
 		});
-		viewerRight = new TableViewer(displayArea, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER
-		// | SWT.VIRTUAL
-		);
+		viewerRight = new TableViewer(displayArea, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER | SWT.VIRTUAL);
 		
 		// viewer.setLabelProvider(new LineLabelProvider(this));
 		viewerRight.setContentProvider(new ConcordancesProvider());
Index: TXM/trunk/org.txm.ca.rcp/src/org/txm/ca/rcp/editors/ColsRowsInfosEditor.java
===================================================================
--- TXM/trunk/org.txm.ca.rcp/src/org/txm/ca/rcp/editors/ColsRowsInfosEditor.java	(revision 3550)
+++ TXM/trunk/org.txm.ca.rcp/src/org/txm/ca/rcp/editors/ColsRowsInfosEditor.java	(revision 3551)
@@ -82,7 +82,7 @@
 		
 		GLComposite resultArea = this.getResultArea();
 		
-		viewer = new TableViewer(resultArea, SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION);
+		viewer = new TableViewer(resultArea, SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION | SWT.VIRTUAL);
 		viewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));
 		
 		
Index: TXM/trunk/org.txm.ca.rcp/src/org/txm/ca/rcp/editors/EigenvaluesTableEditor.java
===================================================================
--- TXM/trunk/org.txm.ca.rcp/src/org/txm/ca/rcp/editors/EigenvaluesTableEditor.java	(revision 3550)
+++ TXM/trunk/org.txm.ca.rcp/src/org/txm/ca/rcp/editors/EigenvaluesTableEditor.java	(revision 3551)
@@ -84,7 +84,7 @@
 		
 		GLComposite resultArea = this.getResultArea();
 		
-		viewer = new TableViewer(resultArea, SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION);
+		viewer = new TableViewer(resultArea, SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION | SWT.VIRTUAL);
 		
 		viewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));
 		
Index: TXM/trunk/org.txm.lexicaltable.rcp/src/org/txm/lexicaltable/rcp/editors/LexicalTableEditor.java
===================================================================
--- TXM/trunk/org.txm.lexicaltable.rcp/src/org/txm/lexicaltable/rcp/editors/LexicalTableEditor.java	(revision 3550)
+++ TXM/trunk/org.txm.lexicaltable.rcp/src/org/txm/lexicaltable/rcp/editors/LexicalTableEditor.java	(revision 3551)
@@ -59,6 +59,7 @@
 import org.txm.rcp.editors.TXMEditor;
 import org.txm.rcp.editors.TableKeyListener;
 import org.txm.rcp.messages.TXMUIMessages;
+import org.txm.rcp.preferences.RCPPreferences;
 import org.txm.rcp.swt.GLComposite;
 import org.txm.rcp.swt.widget.ThresholdsGroup;
 import org.txm.rcp.swt.widget.structures.PropertiesComboViewer;
@@ -499,7 +500,6 @@
 	// FIXME: SJ: + usine à gaz... virer la variable "collist"
 	public void refreshTable(boolean update) {
 		
-		
 		this.viewer.getControl().setRedraw(false);
 		
 		// removing old columns
@@ -529,7 +529,14 @@
 				colNames = this.getResult().getPartition().getPartNames().toArray(new String[0]);
 			}
 			
+			
+			int MAX_NUMBER_OF_COLUMNS = RCPPreferences.getInstance().getInt(RCPPreferences.MAX_NUMBER_OF_COLUMNS);
 			for (int i = 0; i < colNames.length; i++) {
+				
+				if (i >= MAX_NUMBER_OF_COLUMNS) {
+					Log.warning(NLS.bind("Warning The number of columns exceeds {0}. the table has been cut. You can, change the maximum in the TXM > User preference page", MAX_NUMBER_OF_COLUMNS));
+					break;
+				}
 				TableViewerColumn column = new TableViewerColumn(viewer, SWT.RIGHT);
 				column.getColumn().addSelectionListener(new ColumnSelectionListener(this, column, i));
 				// FIXME: viewer comparator tests
@@ -544,6 +551,8 @@
 				}
 				
 				column.getColumn().setText(colName);
+				
+				
 			}
 			
 			// add a separator empty column
@@ -558,7 +567,7 @@
 		
 		
 		if (this.lexicalTable.hasBeenComputedOnce()) {
-			LineLabelProvider labelprovider = new LineLabelProvider(this.lexicalTable);
+			LineLabelProvider labelprovider = new LineLabelProvider(this.lexicalTable, viewer.getTable());
 			this.viewer.setLabelProvider(labelprovider);
 			this.cols = labelprovider.getCols();
 			this.rows = labelprovider.getRows();
Index: TXM/trunk/org.txm.lexicaltable.rcp/src/org/txm/lexicaltable/rcp/editors/LineLabelProvider.java
===================================================================
--- TXM/trunk/org.txm.lexicaltable.rcp/src/org/txm/lexicaltable/rcp/editors/LineLabelProvider.java	(revision 3550)
+++ TXM/trunk/org.txm.lexicaltable.rcp/src/org/txm/lexicaltable/rcp/editors/LineLabelProvider.java	(revision 3551)
@@ -34,6 +34,7 @@
 import org.eclipse.jface.viewers.ITableLabelProvider;
 import org.eclipse.jface.viewers.LabelProvider;
 import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Table;
 import org.txm.lexicaltable.core.functions.LexicalTable;
 import org.txm.rcp.TxmPreferences;
 
@@ -67,15 +68,18 @@
 	
 	/** The max. */
 	int max = 0;
+
+	private Table swtTable;
 	
 	/**
 	 * Instantiates a new line label provider.
 	 *
 	 * @param table the table
 	 */
-	public LineLabelProvider(LexicalTable table) {
+	public LineLabelProvider(LexicalTable table, Table swtTable) {
 		super();
 		this.table = table;
+		this.swtTable = swtTable;
 		try {
 			rownames = table.getRowNames().asStringsArray();
 			Nrows = table.getNRows();
@@ -115,6 +119,9 @@
 		else if (columnIndex == 1) {
 			return rownames[(Integer) element];
 		}
+		else if (columnIndex == swtTable.getColumnCount() - 1) {
+			return EMPTY;
+		}
 		else if (columnIndex == 2) {
 			return Integer.toString(freqs[(Integer) element]);
 		}
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/preferences/RCPPreferences.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/preferences/RCPPreferences.java	(revision 3550)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/preferences/RCPPreferences.java	(revision 3551)
@@ -34,6 +34,8 @@
 	/** The Constant USER_ALERT_DELETE. */
 	public static final String USER_ALERT_DELETE = "user_alert_delete"; //$NON-NLS-1$
 	
+	public static final String MAX_NUMBER_OF_COLUMNS = "max_number_of_columns";
+	
 	/**
 	 * To auto compute result and refresh editor when a form computing parameter is modified.
 	 */
@@ -100,6 +102,7 @@
 		preferences.putBoolean(CGU, false);
 		
 		preferences.putInt(NO_SESSION, 1);
+		preferences.putInt(MAX_NUMBER_OF_COLUMNS, 100);
 	}
 	
 	/**
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/preferences/UserPreferencePage.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/preferences/UserPreferencePage.java	(revision 3550)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/preferences/UserPreferencePage.java	(revision 3551)
@@ -28,6 +28,7 @@
 package org.txm.rcp.preferences;
 
 import org.eclipse.jface.preference.BooleanFieldEditor;
+import org.eclipse.jface.preference.IntegerFieldEditor;
 import org.txm.core.preferences.TBXPreferences;
 import org.txm.rcp.messages.TXMUIMessages;
 
@@ -66,5 +67,7 @@
 		// Auto save each result after computing and auto load them at startup
 		this.addField(new BooleanFieldEditor(TBXPreferences.AUTO_PERSISTENCE_ENABLED, TXMUIMessages.enableAutomaticSaveOfAllResultsPersistence, BooleanFieldEditor.SEPARATE_LABEL, this
 				.getFieldEditorParent()));
+		
+		this.addField(new IntegerFieldEditor(RCPPreferences.MAX_NUMBER_OF_COLUMNS, "The maximum number of columns shown in tables", this.getFieldEditorParent()));
 	}
 }
Index: TXM/trunk/org.txm.referencer.rcp/src/org/txm/referencer/rcp/editors/ReferencerEditor.java
===================================================================
--- TXM/trunk/org.txm.referencer.rcp/src/org/txm/referencer/rcp/editors/ReferencerEditor.java	(revision 3550)
+++ TXM/trunk/org.txm.referencer.rcp/src/org/txm/referencer/rcp/editors/ReferencerEditor.java	(revision 3551)
@@ -269,7 +269,7 @@
 		
 		Composite resultArea = getResultArea();
 		
-		viewer = new TableViewer(resultArea, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);
+		viewer = new TableViewer(resultArea, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER | SWT.VIRTUAL);
 		viewer.getTable().addKeyListener(new TableKeyListener(viewer));
 		if (corpus != null && corpus.getFont() != null && corpus.getFont().length() > 0) {
 			Font old = viewer.getTable().getFont();
Index: TXM/trunk/org.txm.queryindex.rcp/src/org/txm/queryindex/rcp/editors/QueryIndexEditor.java
===================================================================
--- TXM/trunk/org.txm.queryindex.rcp/src/org/txm/queryindex/rcp/editors/QueryIndexEditor.java	(revision 3550)
+++ TXM/trunk/org.txm.queryindex.rcp/src/org/txm/queryindex/rcp/editors/QueryIndexEditor.java	(revision 3551)
@@ -662,8 +662,7 @@
 				.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false));
 		
 		// results
-		viewer = new TableViewer(resultArea, SWT.MULTI | SWT.FULL_SELECTION
-				| SWT.BORDER);
+		viewer = new TableViewer(resultArea, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER | SWT.VIRTUAL);
 		viewer.getTable().setLinesVisible(true);
 		viewer.getTable().setHeaderVisible(true);
 		viewer.getTable().addKeyListener(new TableKeyListener(viewer));
