Révision 3551

TXM/trunk/org.txm.specificities.rcp/src/org/txm/specificities/rcp/editors/SpecificitiesTableLabelProvider.java (revision 3551)
103 103
		else if (columnIndex == 2) { // separator column
104 104
			return EMPTY;
105 105
		}
106
		else if (columnIndex == editor.getTableViewer().getTable().getColumnCount() - 1) { // last column
107
			return EMPTY;
108
		}
106 109
		else if (columnIndex == (line.freqs.length * separatorOffset) + 3) { // separator column
107 110
			return EMPTY;
108 111
		}
TXM/trunk/org.txm.specificities.rcp/src/org/txm/specificities/rcp/editors/SpecificitiesEditor.java (revision 3551)
50 50
import org.txm.rcp.editors.TableKeyListener;
51 51
import org.txm.rcp.editors.listeners.ComputeKeyListener;
52 52
import org.txm.rcp.editors.listeners.ComputeSelectionListener;
53
import org.txm.rcp.preferences.RCPPreferences;
53 54
import org.txm.rcp.swt.GLComposite;
54 55
import org.txm.rcp.swt.widget.LabeledSpinner;
55 56
import org.txm.rcp.swt.widget.ThresholdsGroup;
......
251 252
			if (len == 2 && this.getResult().getParent().getParent() instanceof Subcorpus) {
252 253
				len--; // show only the first column specifs since they are the same (modulo signus)
253 254
			}
255
			
256
			int MAX_NUMBER_OF_COLUMNS = RCPPreferences.getInstance().getInt(RCPPreferences.MAX_NUMBER_OF_COLUMNS);
257
			
254 258
			if (!update
255 259
			// //&& this.getResult().hasBeenComputedOnce()
256 260
			) {
......
265 269
				
266 270
				// System.out.println("partnames: "+Arrays.toString(partNames));
267 271
				// for each lexical table column
272
				
268 273
				for (int i = 0, firstLexicalTableColumnIndex = 3; i < len; i++, firstLexicalTableColumnIndex += 2) {
274

  
275
					if (i+3 >= MAX_NUMBER_OF_COLUMNS) {
276
						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));
277
						break;
278
					}
269 279
					
270 280
					// System.err.println("SpecificitiesEditor.updateEditorFromResult() creating column freq at index " + firstLexicalTableColumnIndex);
271 281
					
......
334 344
			
335 345
			// Updating the table headers from lexical table values
336 346
			for (int i = 0, firstLexicalTableColumnIndex = 3; i < len; i++, firstLexicalTableColumnIndex += 2) {
347
				
348
				if (i+3 >= MAX_NUMBER_OF_COLUMNS) {
349
//					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));
350
					break;
351
				}
352
				
337 353
				// frequency columns
338 354
				TableColumn freqpartTableColumn = specificitesTable.getColumn(firstLexicalTableColumnIndex);
339 355
				text = lexicalTableColumnNames[i];
TXM/trunk/org.txm.ca.rcp/src/org/txm/ca/rcp/editors/ColsRowsInfosEditor.java (revision 3551)
82 82
		
83 83
		GLComposite resultArea = this.getResultArea();
84 84
		
85
		viewer = new TableViewer(resultArea, SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION);
85
		viewer = new TableViewer(resultArea, SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION | SWT.VIRTUAL);
86 86
		viewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));
87 87
		
88 88
		
TXM/trunk/org.txm.ca.rcp/src/org/txm/ca/rcp/editors/EigenvaluesTableEditor.java (revision 3551)
84 84
		
85 85
		GLComposite resultArea = this.getResultArea();
86 86
		
87
		viewer = new TableViewer(resultArea, SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION);
87
		viewer = new TableViewer(resultArea, SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION | SWT.VIRTUAL);
88 88
		
89 89
		viewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));
90 90
		
TXM/trunk/org.txm.lexicaltable.rcp/src/org/txm/lexicaltable/rcp/editors/LexicalTableEditor.java (revision 3551)
59 59
import org.txm.rcp.editors.TXMEditor;
60 60
import org.txm.rcp.editors.TableKeyListener;
61 61
import org.txm.rcp.messages.TXMUIMessages;
62
import org.txm.rcp.preferences.RCPPreferences;
62 63
import org.txm.rcp.swt.GLComposite;
63 64
import org.txm.rcp.swt.widget.ThresholdsGroup;
64 65
import org.txm.rcp.swt.widget.structures.PropertiesComboViewer;
......
499 500
	// FIXME: SJ: + usine à gaz... virer la variable "collist"
500 501
	public void refreshTable(boolean update) {
501 502
		
502
		
503 503
		this.viewer.getControl().setRedraw(false);
504 504
		
505 505
		// removing old columns
......
529 529
				colNames = this.getResult().getPartition().getPartNames().toArray(new String[0]);
530 530
			}
531 531
			
532
			
533
			int MAX_NUMBER_OF_COLUMNS = RCPPreferences.getInstance().getInt(RCPPreferences.MAX_NUMBER_OF_COLUMNS);
532 534
			for (int i = 0; i < colNames.length; i++) {
535
				
536
				if (i >= MAX_NUMBER_OF_COLUMNS) {
537
					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));
538
					break;
539
				}
533 540
				TableViewerColumn column = new TableViewerColumn(viewer, SWT.RIGHT);
534 541
				column.getColumn().addSelectionListener(new ColumnSelectionListener(this, column, i));
535 542
				// FIXME: viewer comparator tests
......
544 551
				}
545 552
				
546 553
				column.getColumn().setText(colName);
554
				
555
				
547 556
			}
548 557
			
549 558
			// add a separator empty column
......
558 567
		
559 568
		
560 569
		if (this.lexicalTable.hasBeenComputedOnce()) {
561
			LineLabelProvider labelprovider = new LineLabelProvider(this.lexicalTable);
570
			LineLabelProvider labelprovider = new LineLabelProvider(this.lexicalTable, viewer.getTable());
562 571
			this.viewer.setLabelProvider(labelprovider);
563 572
			this.cols = labelprovider.getCols();
564 573
			this.rows = labelprovider.getRows();
TXM/trunk/org.txm.lexicaltable.rcp/src/org/txm/lexicaltable/rcp/editors/LineLabelProvider.java (revision 3551)
34 34
import org.eclipse.jface.viewers.ITableLabelProvider;
35 35
import org.eclipse.jface.viewers.LabelProvider;
36 36
import org.eclipse.swt.graphics.Image;
37
import org.eclipse.swt.widgets.Table;
37 38
import org.txm.lexicaltable.core.functions.LexicalTable;
38 39
import org.txm.rcp.TxmPreferences;
39 40

  
......
67 68
	
68 69
	/** The max. */
69 70
	int max = 0;
71

  
72
	private Table swtTable;
70 73
	
71 74
	/**
72 75
	 * Instantiates a new line label provider.
73 76
	 *
74 77
	 * @param table the table
75 78
	 */
76
	public LineLabelProvider(LexicalTable table) {
79
	public LineLabelProvider(LexicalTable table, Table swtTable) {
77 80
		super();
78 81
		this.table = table;
82
		this.swtTable = swtTable;
79 83
		try {
80 84
			rownames = table.getRowNames().asStringsArray();
81 85
			Nrows = table.getNRows();
......
115 119
		else if (columnIndex == 1) {
116 120
			return rownames[(Integer) element];
117 121
		}
122
		else if (columnIndex == swtTable.getColumnCount() - 1) {
123
			return EMPTY;
124
		}
118 125
		else if (columnIndex == 2) {
119 126
			return Integer.toString(freqs[(Integer) element]);
120 127
		}
TXM/trunk/org.txm.referencer.rcp/src/org/txm/referencer/rcp/editors/ReferencerEditor.java (revision 3551)
269 269
		
270 270
		Composite resultArea = getResultArea();
271 271
		
272
		viewer = new TableViewer(resultArea, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);
272
		viewer = new TableViewer(resultArea, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER | SWT.VIRTUAL);
273 273
		viewer.getTable().addKeyListener(new TableKeyListener(viewer));
274 274
		if (corpus != null && corpus.getFont() != null && corpus.getFont().length() > 0) {
275 275
			Font old = viewer.getTable().getFont();
TXM/trunk/org.txm.queryindex.rcp/src/org/txm/queryindex/rcp/editors/QueryIndexEditor.java (revision 3551)
662 662
				.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false));
663 663
		
664 664
		// results
665
		viewer = new TableViewer(resultArea, SWT.MULTI | SWT.FULL_SELECTION
666
				| SWT.BORDER);
665
		viewer = new TableViewer(resultArea, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER | SWT.VIRTUAL);
667 666
		viewer.getTable().setLinesVisible(true);
668 667
		viewer.getTable().setHeaderVisible(true);
669 668
		viewer.getTable().addKeyListener(new TableKeyListener(viewer));
TXM/trunk/org.txm.tigersearch.rcp/src/org/txm/tigersearch/editors/TSIndexEditor.java (revision 3551)
841 841
		tableLayoutData.right = new FormAttachment(100);
842 842
		viewer.getTable().setLayoutData(tableLayoutData);
843 843
		
844
		viewer.setLabelProvider(new LineLabelProvider());
844
		viewer.setLabelProvider(new LineLabelProvider(viewer.getTable()));
845 845
		viewer.setContentProvider(new LineContentProvider());
846 846
		viewer.setInput(new ArrayList<Property>());
847 847
		
TXM/trunk/org.txm.index.rcp/src/org/txm/index/rcp/editors/LineLabelProvider.java (revision 3551)
30 30
import org.eclipse.jface.viewers.ILabelProviderListener;
31 31
import org.eclipse.jface.viewers.ITableLabelProvider;
32 32
import org.eclipse.swt.graphics.Image;
33
import org.eclipse.swt.widgets.Table;
33 34
import org.txm.index.core.functions.Line;
34 35

  
35 36
// TODO: Auto-generated Javadoc
......
38 39
 */
39 40
public class LineLabelProvider implements ITableLabelProvider {
40 41
	
42
	Table table;
43
	
44
	public LineLabelProvider(Table table) {
45
		this.table = table;
46
	}
47
	
41 48
	/*
42 49
	 * (non-Javadoc)
43 50
	 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int)
......
47 54
		return null;
48 55
	}
49 56
	
57
	public final static String EMPTY = "";
58
	
50 59
	/*
51 60
	 * (non-Javadoc)
52 61
	 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
......
56 65
		Line line = (Line) element;
57 66
		switch (columnIndex) {
58 67
			case 0:
59
				return ""; //$NON-NLS-1$
68
				return EMPTY; //$NON-NLS-1$
60 69
			case 1:
61 70
				return line.toString();
62 71
			case 2:
63
				return "" + line.getFrequency(); //$NON-NLS-1$
72
				return EMPTY + line.getFrequency(); //$NON-NLS-1$
64 73
			default:
65
				if (line.getFrequencies().length > 1
74
				if (columnIndex  == table.getColumnCount() - 1) {
75
					return EMPTY; //$NON-NLS-1$
76
				}
77
				else if (line.getFrequencies().length > 1
66 78
						&& columnIndex - 3 < line.getFrequencies().length)
67 79
					return "" + line.getFrequency(columnIndex - 3); //$NON-NLS-1$
68 80
				else
69
					return "";//$NON-NLS-1$
81
					return EMPTY;//$NON-NLS-1$
70 82
		}
71 83
	}
72 84
	
TXM/trunk/org.txm.index.rcp/src/org/txm/index/rcp/editors/PartitionIndexEditor.java (revision 3551)
31 31
import java.util.List;
32 32

  
33 33
import org.eclipse.jface.viewers.TableViewer;
34
import org.eclipse.osgi.util.NLS;
34 35
import org.eclipse.swt.SWT;
35 36
import org.eclipse.swt.events.SelectionEvent;
36 37
import org.eclipse.swt.events.SelectionListener;
......
56 57
import org.txm.rcp.editors.listeners.ComputeKeyListener;
57 58
import org.txm.rcp.editors.listeners.ComputeSelectionListener;
58 59
import org.txm.rcp.messages.TXMUIMessages;
60
import org.txm.rcp.preferences.RCPPreferences;
59 61
import org.txm.rcp.swt.GLComposite;
60 62
import org.txm.rcp.swt.widget.AssistedChoiceQueryWidget;
61 63
import org.txm.rcp.swt.widget.NavigationWidget;
......
319 321
		// results
320 322
		Composite resultArea = this.getResultArea();
321 323
		
322
		viewer = new TableViewer(resultArea, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);
324
		viewer = new TableViewer(resultArea, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER | SWT.VIRTUAL);
323 325
		
324 326
		viewer.getTable().setLinesVisible(true);
325 327
		viewer.getTable().setHeaderVisible(true);
......
336 338
		
337 339
		viewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));
338 340
		
339
		viewer.setLabelProvider(new LineLabelProvider());
341
		viewer.setLabelProvider(new LineLabelProvider(viewer.getTable()));
340 342
		viewer.setContentProvider(new LineContentProvider());
341 343
		viewer.setInput(new ArrayList<Property>());
342 344
		
......
447 449
			List<String> partnames = index.getPartition().getPartNames();
448 450
			if (partnames.size() > 1) {
449 451
				if (viewer.getTable().getColumnCount() < partnames.size() + 3) {
452
					
453
					int MAX_NUMBER_OF_COLUMNS = RCPPreferences.getInstance().getInt(RCPPreferences.MAX_NUMBER_OF_COLUMNS);
454
					
450 455
					for (int i = 0; i < partnames.size(); i++) {
456
						
457
						if (i >= MAX_NUMBER_OF_COLUMNS) {
458
							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));
459
							break;
460
						}
461
						
451 462
						final TableColumn partColumn = new TableColumn(viewer.getTable(), SWT.RIGHT);
452 463
						try {
453 464
							partColumn.setText(partnames.get(i) + " t=" + parts.get(i).getSize()); //$NON-NLS-1$
TXM/trunk/org.txm.index.rcp/src/org/txm/index/rcp/editors/IndexEditor.java (revision 3551)
322 322
		// results
323 323
		Composite resultArea = this.getResultArea();
324 324
		
325
		viewer = new TableViewer(resultArea, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);
325
		viewer = new TableViewer(resultArea, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER | SWT.VIRTUAL);
326 326
		
327 327
		viewer.getTable().setLinesVisible(true);
328 328
		viewer.getTable().setHeaderVisible(true);
......
339 339
		
340 340
		viewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));
341 341
		
342
		viewer.setLabelProvider(new LineLabelProvider());
342
		viewer.setLabelProvider(new LineLabelProvider(viewer.getTable()));
343 343
		viewer.setContentProvider(new LineContentProvider());
344 344
		viewer.setInput(new ArrayList<Property>());
345 345
		
TXM/trunk/org.txm.concordance.rcp/src/org/txm/concordance/rcp/editors/ConcordanceEditor.java (revision 3551)
454 454
				sash.getParent().layout();
455 455
			}
456 456
		});
457
		viewerRight = new TableViewer(displayArea, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER
458
		// | SWT.VIRTUAL
459
		);
457
		viewerRight = new TableViewer(displayArea, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER | SWT.VIRTUAL);
460 458
		
461 459
		// viewer.setLabelProvider(new LineLabelProvider(this));
462 460
		viewerRight.setContentProvider(new ConcordancesProvider());
TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/preferences/RCPPreferences.java (revision 3551)
34 34
	/** The Constant USER_ALERT_DELETE. */
35 35
	public static final String USER_ALERT_DELETE = "user_alert_delete"; //$NON-NLS-1$
36 36
	
37
	public static final String MAX_NUMBER_OF_COLUMNS = "max_number_of_columns";
38
	
37 39
	/**
38 40
	 * To auto compute result and refresh editor when a form computing parameter is modified.
39 41
	 */
......
100 102
		preferences.putBoolean(CGU, false);
101 103
		
102 104
		preferences.putInt(NO_SESSION, 1);
105
		preferences.putInt(MAX_NUMBER_OF_COLUMNS, 100);
103 106
	}
104 107
	
105 108
	/**
TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/preferences/UserPreferencePage.java (revision 3551)
28 28
package org.txm.rcp.preferences;
29 29

  
30 30
import org.eclipse.jface.preference.BooleanFieldEditor;
31
import org.eclipse.jface.preference.IntegerFieldEditor;
31 32
import org.txm.core.preferences.TBXPreferences;
32 33
import org.txm.rcp.messages.TXMUIMessages;
33 34

  
......
66 67
		// Auto save each result after computing and auto load them at startup
67 68
		this.addField(new BooleanFieldEditor(TBXPreferences.AUTO_PERSISTENCE_ENABLED, TXMUIMessages.enableAutomaticSaveOfAllResultsPersistence, BooleanFieldEditor.SEPARATE_LABEL, this
68 69
				.getFieldEditorParent()));
70
		
71
		this.addField(new IntegerFieldEditor(RCPPreferences.MAX_NUMBER_OF_COLUMNS, "The maximum number of columns shown in tables", this.getFieldEditorParent()));
69 72
	}
70 73
}
TXM/trunk/org.txm.internalview.rcp/src/org/txm/internalview/rcp/editors/InternalViewEditor.java (revision 3551)
186 186
		// Button style = new Button(navigationPanel, SWT.RADIO);
187 187
		// style.setText("table");
188 188
		
189
		viewer = new TableViewer(resultPanel);
189
		viewer = new TableViewer(resultPanel, SWT.FULL_SELECTION | SWT.VIRTUAL);
190 190
		viewer.getTable().addKeyListener(new TableKeyListener(viewer));
191 191
		viewer.getTable().setLinesVisible(true);
192 192
		viewer.getTable().setHeaderVisible(true);
TXM/trunk/org.txm.cooccurrence.rcp/src/org/txm/cooccurrence/rcp/editors/CooccurrencesEditor.java (revision 3551)
328 328
		// result area
329 329
		Composite resultArea = this.getResultArea();
330 330
		
331
		viewer = new TableViewer(resultArea, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);
331
		viewer = new TableViewer(resultArea, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER | SWT.VIRTUAL);
332 332
		viewer.getTable().addKeyListener(new TableKeyListener(viewer));
333 333
		viewer.getTable().setLinesVisible(true);
334 334
		viewer.getTable().setHeaderVisible(true);

Formats disponibles : Unified diff