Révision 1891

tmp/org.txm.concordance.rcp/src/org/txm/concordance/rcp/editors/ConcordanceEditor.java (revision 1891)
40 40
import org.eclipse.jface.action.IMenuManager;
41 41
import org.eclipse.jface.action.MenuManager;
42 42
import org.eclipse.jface.action.Separator;
43
import org.eclipse.jface.util.Util;
43 44
import org.eclipse.jface.viewers.ColumnLabelProvider;
44 45
import org.eclipse.jface.viewers.StructuredSelection;
45 46
import org.eclipse.jface.viewers.TableViewer;
......
190 191
	private Point mouseposition;
191 192

  
192 193
	/** The line table viewer. */
193
	protected TableViewer viewer, viewer2;
194
	protected TableViewer viewerRight, viewerLeft;
194 195

  
195 196
	/** The reference column. */
196 197
	private TableColumn referenceColumn;
......
349 350
		//		tableLayout = new TableColumnLayout();
350 351
		displayArea.setLayout(new FormLayout());
351 352

  
352
		viewer2 = new TableViewer(displayArea, SWT.MULTI | SWT.BORDER | SWT.VIRTUAL);
353
		viewer2.getTable().addKeyListener(new TableKeyListener(viewer2));
354
		viewer2.setLabelProvider(new LineLabelProvider(this) {
353
		viewerLeft = new TableViewer(displayArea, SWT.MULTI | SWT.BORDER | SWT.VIRTUAL);
354
		viewerLeft.getTable().addKeyListener(new TableKeyListener(viewerLeft));
355
		viewerLeft.setLabelProvider(new LineLabelProvider(this) {
355 356
			@Override
356 357
			public String getColumnText(Object element, int columnIndex) {
357 358
				Line line = (Line) element;
358 359
				return line.getViewRef().toString();
359 360
			}
360 361
		});
361
		viewer2.setContentProvider(new ConcordancesProvider());
362
		viewer2.getTable().setLinesVisible(true);
363
		viewer2.getTable().setHeaderVisible(true);
362
		viewerLeft.setContentProvider(new ConcordancesProvider());
363
		viewerLeft.getTable().setLinesVisible(true);
364
		viewerLeft.getTable().setHeaderVisible(true);
364 365

  
365 366
		//		firstColumn = new TableColumn(viewer2.getTable(), SWT.LEFT);
366 367
		//		firstColumn.setWidth(10);
367 368

  
368
		referenceColumn = new TableColumn(viewer2.getTable(), SWT.LEFT|SWT.H_SCROLL);
369
		referenceColumn = new TableColumn(viewerLeft.getTable(), SWT.LEFT|SWT.H_SCROLL);
369 370
		refreshReferenceColumnTitle();
370 371
		referenceColumn.setToolTipText(ConcordanceUIMessages.reference);
371 372
		referenceColumn.addSelectionListener(new SelectionListener() {
......
373 374
			public void widgetSelected(SelectionEvent e) {
374 375
				StatusLine.setMessage(ConcordanceUIMessages.sortingReferenceColumn);
375 376
				LineComparator comparator = new PropertiesReferenceComparator();
376
				if (viewer2.getTable().getSortColumn() != referenceColumn) {
377
					viewer2.getTable().setSortColumn(null);
378
					viewer2.getTable().setSortColumn(referenceColumn);
379
					viewer2.getTable().setSortDirection(SWT.UP);
380
				} else if (viewer2.getTable().getSortDirection() == SWT.UP) {
381
					viewer2.getTable().setSortDirection(SWT.DOWN);
377
				if (viewerLeft.getTable().getSortColumn() != referenceColumn) {
378
					viewerLeft.getTable().setSortColumn(null);
379
					viewerLeft.getTable().setSortColumn(referenceColumn);
380
					viewerLeft.getTable().setSortDirection(SWT.UP);
381
				} else if (viewerLeft.getTable().getSortDirection() == SWT.UP) {
382
					viewerLeft.getTable().setSortDirection(SWT.DOWN);
382 383
					comparator = new ReverseComparator(comparator);
383 384
				} else {
384
					viewer2.getTable().setSortDirection(SWT.UP);
385
					viewerLeft.getTable().setSortDirection(SWT.UP);
385 386
				}
386 387
				comparator.initialize(concordance.getCorpus());
387 388
				currentComparator = comparator;
......
403 404
				sash.getParent().layout();
404 405
			}
405 406
		});
406
		viewer = new TableViewer(displayArea, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER
407
		viewerRight = new TableViewer(displayArea, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER
407 408
				//				| SWT.VIRTUAL
408 409
				);
409
		viewer.getTable().addKeyListener(new TableKeyListener(viewer));
410
		viewerRight.getTable().addKeyListener(new TableKeyListener(viewerRight));
410 411
		//viewer.setLabelProvider(new LineLabelProvider(this));
411
		viewer.setContentProvider(new ConcordancesProvider());
412
		viewer.getTable().setLinesVisible(true);
413
		viewer.getTable().setHeaderVisible(true);
412
		viewerRight.setContentProvider(new ConcordancesProvider());
413
		viewerRight.getTable().setLinesVisible(true);
414
		viewerRight.getTable().setHeaderVisible(true);
414 415

  
415 416
		String f = concordance.getCorpus().getFont();
416 417
		if (f != null && f.length() > 0) {
417
			Font old = viewer.getTable().getFont();
418
			Font old = viewerRight.getTable().getFont();
418 419
			FontData fD = old.getFontData()[0];
419 420
			Font font = new Font(Display.getCurrent(), f, fD.getHeight(), fD.getStyle()); 
420
			viewer.getTable().setFont(font);
421
			viewer2.getTable().setFont(font);
421
			viewerRight.getTable().setFont(font);
422
			viewerLeft.getTable().setFont(font);
422 423
		}
423 424

  
424 425
		tableResizeListener = new Listener() {
425 426
			@Override
426 427
			public void handleEvent(Event event) {
427
				ScrollBar bar = viewer.getTable().getHorizontalBar();
428
				ScrollBar bar = viewerRight.getTable().getHorizontalBar();
428 429
				float l=leftContextColumn.getWidth();
429 430
				float k=keywordColumn.getWidth();
430 431
				float r=rightContextColumn.getWidth();
431
				float t=viewer.getTable().getClientArea().width;//the width of the visible part of the table; l+k+r>=t
432
				float t=viewerRight.getTable().getClientArea().width;//the width of the visible part of the table; l+k+r>=t
432 433
				float x=l+k/2-t/2; //the abcisse the visible rectangle must have for the keyword column to be centered
433 434
				float M=bar.getMaximum();
434 435
				float T=bar.getThumb();
......
437 438
		};
438 439

  
439 440
		// try to center on keyword column
440
		viewer.getTable().addListener(SWT.Resize, tableResizeListener);
441
		viewerRight.getTable().addListener(SWT.Resize, tableResizeListener);
441 442

  
442 443
		//TODO: to enable line deletion, Concordance code must updated -> replace with key binding
443 444
		KeyListener kldelete = new KeyListener() {
......
449 450
				DeleteLines.deleteConcordanceLines(ConcordanceEditor.this);
450 451
			}
451 452
		};
452
		viewer.getTable().addKeyListener(kldelete);
453
		viewer2.getTable().addKeyListener(kldelete);
453
		viewerRight.getTable().addKeyListener(kldelete);
454
		viewerLeft.getTable().addKeyListener(kldelete);
454 455

  
455
		firstColumn = new TableColumn(viewer.getTable(), SWT.LEFT);
456
		firstColumn = new TableColumn(viewerRight.getTable(), SWT.LEFT);
456 457
		firstColumn.setWidth(0);
457 458
		firstColumn.setResizable(false);
458 459

  
459
		TableViewerColumn leftColumnViewer = new TableViewerColumn(viewer, SWT.RIGHT);
460
		TableViewerColumn leftColumnViewer = new TableViewerColumn(viewerRight, SWT.RIGHT);
460 461
		leftContextColumn = leftColumnViewer.getColumn();
461 462
		leftContextColumn.setText(ConcordanceUIMessages.leftContext);
462 463
		leftContextColumn.setToolTipText(ConcordanceUIMessages.leftContext);
......
473 474
			public void widgetSelected(SelectionEvent e) {
474 475
				StatusLine.setMessage(ConcordanceUIMessages.sortingLeftContextColumn);
475 476
				LineComparator comparator = new LexicographicLeftContextComparator();
476
				if (viewer.getTable().getSortColumn() != leftContextColumn) {
477
					viewer.getTable().setSortColumn(leftContextColumn);
478
					viewer.getTable().setSortDirection(SWT.UP);
479
				} else if (viewer.getTable().getSortDirection() == SWT.UP) {
480
					viewer.getTable().setSortDirection(SWT.DOWN);
477
				if (viewerRight.getTable().getSortColumn() != leftContextColumn) {
478
					viewerRight.getTable().setSortColumn(leftContextColumn);
479
					viewerRight.getTable().setSortDirection(SWT.UP);
480
				} else if (viewerRight.getTable().getSortDirection() == SWT.UP) {
481
					viewerRight.getTable().setSortDirection(SWT.DOWN);
481 482
					comparator = new ReverseComparator(comparator);
482 483
				} else
483
					viewer.getTable().setSortDirection(SWT.UP);
484
					viewerRight.getTable().setSortDirection(SWT.UP);
484 485
				comparator.initialize(concordance.getCorpus());
485 486
				currentComparator = comparator;
486 487
				complexsorter.setKey(2);//set ref key
......
493 494
			}
494 495
		});
495 496

  
496
		TableViewerColumn keywordColumnViewer = new TableViewerColumn(viewer, SWT.CENTER);
497
		TableViewerColumn keywordColumnViewer = new TableViewerColumn(viewerRight, SWT.CENTER);
497 498
		keywordColumn = keywordColumnViewer.getColumn();
498 499
		keywordColumn.setText(ConcordanceUIMessages.keyword);
499 500
		keywordColumn.setToolTipText(ConcordanceUIMessages.keyword);
......
510 511
			public void widgetSelected(SelectionEvent e) {
511 512
				StatusLine.setMessage(ConcordanceUIMessages.sortingKeywordColumn);
512 513
				LineComparator comparator = new LexicographicKeywordComparator();
513
				if (viewer.getTable().getSortColumn() != keywordColumn) {
514
					viewer.getTable().setSortColumn(keywordColumn);
515
					viewer.getTable().setSortDirection(SWT.UP);
514
				if (viewerRight.getTable().getSortColumn() != keywordColumn) {
515
					viewerRight.getTable().setSortColumn(keywordColumn);
516
					viewerRight.getTable().setSortDirection(SWT.UP);
516 517
				}
517
				else if (viewer.getTable().getSortDirection() == SWT.UP) {
518
					viewer.getTable().setSortDirection(SWT.DOWN);
518
				else if (viewerRight.getTable().getSortDirection() == SWT.UP) {
519
					viewerRight.getTable().setSortDirection(SWT.DOWN);
519 520
					comparator = new ReverseComparator(comparator);
520 521
				}
521 522
				else {
522
					viewer.getTable().setSortDirection(SWT.UP);
523
					viewerRight.getTable().setSortDirection(SWT.UP);
523 524
				}
524 525
				comparator.initialize(concordance.getCorpus());
525 526
				currentComparator = comparator;
......
534 535
		});
535 536

  
536 537

  
537
		TableViewerColumn rightContextColumnViewer = new TableViewerColumn(viewer, SWT.LEFT);
538
		TableViewerColumn rightContextColumnViewer = new TableViewerColumn(viewerRight, SWT.LEFT);
538 539
		rightContextColumn = rightContextColumnViewer.getColumn();
539 540
		rightContextColumn.setText(ConcordanceUIMessages.rightContext);
540 541
		rightContextColumn.setToolTipText(ConcordanceUIMessages.rightContext);
......
552 553
				StatusLine.setMessage(ConcordanceUIMessages.sortingRightContextColumn);
553 554
				LineComparator comparator = new LexicographicRightContextComparator();
554 555

  
555
				if (viewer.getTable().getSortColumn() != rightContextColumn) {
556
					viewer.getTable().setSortColumn(rightContextColumn);
556
				if (viewerRight.getTable().getSortColumn() != rightContextColumn) {
557
					viewerRight.getTable().setSortColumn(rightContextColumn);
557 558
				}
558
				else if (viewer.getTable().getSortDirection() == SWT.UP) {
559
					viewer.getTable().setSortDirection(SWT.DOWN);
559
				else if (viewerRight.getTable().getSortDirection() == SWT.UP) {
560
					viewerRight.getTable().setSortDirection(SWT.DOWN);
560 561
					comparator = new ReverseComparator(comparator);
561 562
				}
562 563
				else {
563
					viewer.getTable().setSortDirection(SWT.UP);
564
					viewerRight.getTable().setSortDirection(SWT.UP);
564 565
				}
565 566
				comparator.initialize(concordance.getCorpus());
566 567
				currentComparator = comparator;
......
621 622
			@Override
622 623
			public void mouseUp(MouseEvent e) {	}
623 624
		};
624
		viewer.getTable().addMouseListener(ms);
625
		viewer2.getTable().addMouseListener(ms);
625
		viewerRight.getTable().addMouseListener(ms);
626
		viewerLeft.getTable().addMouseListener(ms);
626 627

  
627 628
		// On Windows, the selection is gray if the table does not have focus.
628 629
		// To make both tables appear in focus, draw the selection background
......
651 652
		keywordColumn.addControlListener(new ConcordanceColumnSizeControlListener(keywordColumn));
652 653
		rightContextColumn.addControlListener(new ConcordanceColumnSizeControlListener(rightContextColumn));
653 654

  
654
		viewer.getTable().addListener(SWT.EraseItem, eraseListener);
655
		viewerRight.getTable().addListener(SWT.EraseItem, eraseListener);
655 656

  
656
		leftTable = viewer2.getTable();
657
		rightTable = viewer.getTable();
658
		viewer2.getTable().addSelectionListener(new SelectionListener() {
657
		leftTable = viewerLeft.getTable();
658
		rightTable = viewerRight.getTable();
659
		viewerLeft.getTable().addSelectionListener(new SelectionListener() {
659 660
			@Override
660 661
			public void widgetSelected(SelectionEvent e) {
661 662
				rightTable.deselectAll();
......
664 665
			@Override
665 666
			public void widgetDefaultSelected(SelectionEvent e) { }
666 667
		});
667
		vBarLeft = viewer2.getTable().getVerticalBar();
668
		vBarLeft = viewerLeft.getTable().getVerticalBar();
668 669
		vBarLeft.addListener(SWT.Selection, new Listener() {
669 670
			@Override
670 671
			public void handleEvent(Event event) {
671
				vBarRight.setSelection(vBarLeft.getSelection());
672
				if (Util.isWindows()) {
673
					viewerRight.getTable().setTopIndex(viewerLeft.getTable().getTopIndex());
674
				} else {
675
					vBarRight.setSelection(vBarLeft.getSelection());
676
				}
672 677
			}
673 678
		});
674
		viewer.getTable().addSelectionListener(new SelectionListener() {
679
		viewerRight.getTable().addSelectionListener(new SelectionListener() {
675 680
			@Override
676 681
			public void widgetSelected(SelectionEvent e) {
677 682
				leftTable.deselectAll();
......
680 685
			@Override
681 686
			public void widgetDefaultSelected(SelectionEvent e) { }
682 687
		});
683
		vBarRight = viewer.getTable().getVerticalBar();
688
		vBarRight = viewerRight.getTable().getVerticalBar();
684 689
		vBarRight.addListener(SWT.Selection, new Listener() {
685 690
			@Override
686 691
			public void handleEvent(Event event) {
687
				vBarLeft.setSelection(vBarRight.getSelection());
692
				if (Util.isWindows()) {
693
					viewerLeft.getTable().setTopIndex(viewerRight.getTable().getTopIndex());
694
				} else {
695
					vBarLeft.setSelection(vBarRight.getSelection());
696
				}
688 697
			}
689 698
		});
690 699

  
......
694 703
		data.bottom = new FormAttachment(100); 
695 704
		data.left = new FormAttachment(0);
696 705
		data.right = new FormAttachment(sash,0);
697
		viewer2.getTable().setLayoutData(data);
706
		viewerLeft.getTable().setLayoutData(data);
698 707

  
699 708
		FormData data2 = new FormData();
700 709
		data2.top = new FormAttachment(0, 0); 
......
707 716
		data3.bottom = new FormAttachment(100); 
708 717
		data3.left = new FormAttachment(sash,0);
709 718
		data3.right = new FormAttachment(100);
710
		viewer.getTable().setLayoutData(data3);
719
		viewerRight.getTable().setLayoutData(data3);
711 720

  
712 721
		createContextMenu();
713 722
	}
......
781 790
	 * @param to the to
782 791
	 */
783 792
	public void fillDisplayArea() {
784
		if (viewer == null) {
793
		if (viewerRight == null) {
785 794
			return;
786 795
		}
787 796

  
......
791 800
		int to = from + concordance.getNLinePerPage();
792 801
		to = Math.min(to, concordance.getNLines()) - 1;
793 802

  
794
		viewer.getControl().setRedraw(false);
795
		viewer2.getControl().setRedraw(false);
803
		viewerRight.getControl().setRedraw(false);
804
		viewerLeft.getControl().setRedraw(false);
796 805

  
797 806
		List<Line> lines = null;
798 807
		if (concordance.getNLines() > 0) {
......
807 816
			lines = new ArrayList<Line>();
808 817
		}
809 818

  
810
		viewer.setInput(lines);
811
		viewer2.setInput(lines);
819
		viewerRight.setInput(lines);
820
		viewerLeft.setInput(lines);
812 821

  
813 822
		navigationWidget.setInfoLineText("" + (from+1), //$NON-NLS-1$
814 823
				" - " + (to+1) + " / " + concordance.getNLines()); //$NON-NLS-1$ //$NON-NLS-2$
......
821 830
		navigationWidget.getParent().layout();
822 831

  
823 832
		refreshReferenceColumnTitle();
824
		viewer.getControl().setRedraw(true);
825
		viewer2.getControl().setRedraw(true);
833
		viewerRight.getControl().setRedraw(true);
834
		viewerLeft.getControl().setRedraw(true);
826 835
	}
827 836

  
828 837
	/**
......
1147 1156
				concordance.setTopIndex(0);
1148 1157
				try {
1149 1158
					refresh(true);
1150
					viewer.getTable().setTopIndex(0);
1159
					viewerRight.getTable().setTopIndex(0);
1151 1160
				} catch (Exception e1) {
1152 1161
					// TODO Auto-generated catch block
1153 1162
					e1.printStackTrace();
......
1169 1178
				concordance.setTopIndex(top);
1170 1179
				try {
1171 1180
					refresh(true);
1172
					viewer.getTable().setTopIndex(0);
1181
					viewerRight.getTable().setTopIndex(0);
1173 1182
				} catch (Exception e1) {
1174 1183
					// TODO Auto-generated catch block
1175 1184
					e1.printStackTrace();
......
1188 1197
				concordance.setTopIndex(concordance.getTopIndex() + concordance.getNLinePerPage());
1189 1198
				try {
1190 1199
					refresh(true);
1191
					viewer.getTable().setTopIndex(0);
1200
					viewerRight.getTable().setTopIndex(0);
1192 1201
				} catch (Exception e1) {
1193 1202
					// TODO Auto-generated catch block
1194 1203
					e1.printStackTrace();
......
1210 1219
				concordance.setTopIndex(top);
1211 1220
				try {
1212 1221
					refresh(true);
1213
					viewer.getTable().setTopIndex(0);
1222
					viewerRight.getTable().setTopIndex(0);
1214 1223
				} catch (Exception e1) {
1215 1224
					// TODO Auto-generated catch block
1216 1225
					e1.printStackTrace();
......
1379 1388
		createActions();
1380 1389

  
1381 1390
		// store the mouse position
1382
		viewer.getTable().addMouseListener(new MouseAdapter() {
1391
		viewerRight.getTable().addMouseListener(new MouseAdapter() {
1383 1392
			@Override
1384 1393
			public void mouseDown(MouseEvent arg0) {
1385 1394

  
......
1394 1403
		});
1395 1404

  
1396 1405
		MenuManager menuManager = new MenuManager(); //$NON-NLS-1$
1397
		Menu menu = menuManager.createContextMenu(viewer.getTable());
1406
		Menu menu = menuManager.createContextMenu(viewerRight.getTable());
1398 1407
		menuManager.setRemoveAllWhenShown(true);
1399 1408
		menuManager.addMenuListener(new IMenuListener() {
1400 1409
			@Override
......
1409 1418
				manager.add(new Separator());
1410 1419
			}
1411 1420
		});
1412
		viewer.getTable().setMenu(menu);
1421
		viewerRight.getTable().setMenu(menu);
1413 1422

  
1414 1423
		MenuManager menuManagerLeft = new MenuManager(); //$NON-NLS-1$
1415
		Menu menuLeft = menuManagerLeft.createContextMenu(viewer2.getTable());
1424
		Menu menuLeft = menuManagerLeft.createContextMenu(viewerLeft.getTable());
1416 1425
		menuManagerLeft.setRemoveAllWhenShown(true);
1417 1426
		menuManagerLeft.addMenuListener(new IMenuListener() {
1418 1427
			@Override
......
1423 1432
				manager.add(defineSortReferencePatternAction);
1424 1433
			}
1425 1434
		});
1426
		viewer2.getTable().setMenu(menuLeft);
1435
		viewerLeft.getTable().setMenu(menuLeft);
1427 1436

  
1428 1437
		//viewer.getTable().setMenu(menuManager.createContextMenu(viewer.getTable()));
1429 1438
		//register the right menu to the editor site
1430
		getSite().registerContextMenu(menuManager, viewer);
1431
		getSite().setSelectionProvider(viewer);
1439
		getSite().registerContextMenu(menuManager, viewerRight);
1440
		getSite().setSelectionProvider(viewerRight);
1432 1441
	}
1433 1442

  
1434 1443
	/**
......
1472 1481
	 */
1473 1482
	private void createActions() {
1474 1483
		setSortPropertyAction = new SortPropertySelection(getSite()
1475
				.getWorkbenchWindow(), this, this.viewer);
1484
				.getWorkbenchWindow(), this, this.viewerRight);
1476 1485
		setContextSizeAction = new SetContextSize(getSite()
1477 1486
				.getWorkbenchWindow(), this);
1478 1487
		//resetColumnWidths = new ResetColumnWidths(getSite().getWorkbenchWindow(), this);
......
1483 1492
		defineSortReferencePatternAction = new DefineSortReferencePattern(getSite()
1484 1493
				.getWorkbenchWindow(), this);
1485 1494
		setViewPropertyAction = new ViewPropertySelection(getSite()
1486
				.getWorkbenchWindow(), this, this.viewer);
1495
				.getWorkbenchWindow(), this, this.viewerRight);
1487 1496
	}
1488 1497

  
1489 1498
	/**
......
1782 1791
	 * @return the line table viewer
1783 1792
	 */
1784 1793
	public TableViewer getLineTableViewer() {
1785
		return viewer;
1794
		return viewerRight;
1786 1795
	}
1787 1796

  
1788 1797
	/**
......
1793 1802
	public void resetSortedColumn(int col) {
1794 1803
		switch(col) {
1795 1804
		case 1://keyword
1796
			viewer.getTable().setSortColumn(this.keywordColumn);
1797
			viewer.getTable().setSortDirection(SWT.DOWN);
1805
			viewerRight.getTable().setSortColumn(this.keywordColumn);
1806
			viewerRight.getTable().setSortDirection(SWT.DOWN);
1798 1807
			break;
1799 1808
		case 2://left
1800
			viewer.getTable().setSortColumn(this.leftContextColumn);
1801
			viewer.getTable().setSortDirection(SWT.DOWN);
1809
			viewerRight.getTable().setSortColumn(this.leftContextColumn);
1810
			viewerRight.getTable().setSortDirection(SWT.DOWN);
1802 1811
			break;
1803 1812
		case 3://right
1804
			viewer.getTable().setSortColumn(this.rightContextColumn);
1805
			viewer.getTable().setSortDirection(SWT.DOWN);
1813
			viewerRight.getTable().setSortColumn(this.rightContextColumn);
1814
			viewerRight.getTable().setSortDirection(SWT.DOWN);
1806 1815
			break;
1807 1816
		case 4://references
1808
			viewer.getTable().setSortColumn(this.referenceColumn);
1809
			viewer.getTable().setSortDirection(SWT.DOWN);
1817
			viewerRight.getTable().setSortColumn(this.referenceColumn);
1818
			viewerRight.getTable().setSortDirection(SWT.DOWN);
1810 1819
			break;
1811 1820
		default:
1812
			viewer.getTable().setSortColumn(null);
1813
			viewer.getTable().setSortDirection(SWT.NONE);
1821
			viewerRight.getTable().setSortColumn(null);
1822
			viewerRight.getTable().setSortDirection(SWT.NONE);
1814 1823
		}
1815 1824

  
1816 1825
	}
......
1936 1945
	 */
1937 1946
	public boolean backToText() {
1938 1947

  
1939
		StructuredSelection select = (StructuredSelection) viewer.getSelection();
1948
		StructuredSelection select = (StructuredSelection) viewerRight.getSelection();
1940 1949
		if (select == null) return false;
1941 1950

  
1942 1951
		Line line = (Line) select.getFirstElement();
......
1971 1980
	public void resetLeftTableColumnWidths() {
1972 1981

  
1973 1982
		int refMax = referenceColumn.getText().length();
1974
		for (TableItem item : viewer2.getTable().getItems()) {
1983
		for (TableItem item : viewerLeft.getTable().getItems()) {
1975 1984
			if (refMax < item.getText(0).length()) refMax = item.getText(0).length();
1976 1985
		}
1977 1986

  
......
1991 2000

  
1992 2001
		float W = 1f+(float)(queryLabel.getSize().x / (float)queryLabel.getText().length());
1993 2002

  
1994
		TableColumn[] columns = viewer.getTable().getColumns();
2003
		TableColumn[] columns = viewerRight.getTable().getColumns();
1995 2004
		for (int i = 0 ; i < columns.length ; i++) {
1996 2005
			TableColumn column = columns[i];
1997 2006
			if (column.getWidth() == 0) continue; // skip closed columns
......
2000 2009
			if (max == 0) continue; // skip no-title columns
2001 2010

  
2002 2011
			int n = 0;
2003
			for (TableItem item : viewer.getTable().getItems()) {
2012
			for (TableItem item : viewerRight.getTable().getItems()) {
2004 2013
				if (max < item.getText(i).length()) max = item.getText(i).length();
2005 2014
				if (n++ > 100) break; // stop testing after 100 lines
2006 2015
			}
......
2008 2017
			column.setWidth(15+(int) (max*W));
2009 2018
		}
2010 2019

  
2011
		viewer.getTable().layout(true, true);
2020
		viewerRight.getTable().layout(true, true);
2012 2021
		tableResizeListener.handleEvent(null); // center on keyword column
2013 2022
	}
2014 2023

  

Formats disponibles : Unified diff