|
Lines 111-119
Link Here
|
| 111 |
private static final class PersonLabelProvider |
111 |
private static final class PersonLabelProvider |
| 112 |
extends CellLabelProvider |
112 |
extends CellLabelProvider |
| 113 |
{ |
113 |
{ |
|
|
114 |
private int columnIndex; |
| 115 |
|
| 116 |
public PersonLabelProvider( final int columnIndex ) { |
| 117 |
this.columnIndex = columnIndex; |
| 118 |
} |
| 119 |
|
| 114 |
public void update( final ViewerCell cell ) { |
120 |
public void update( final ViewerCell cell ) { |
| 115 |
Person person = ( Person )cell.getElement(); |
121 |
Person person = ( Person )cell.getElement(); |
| 116 |
int columnIndex = cell.getColumnIndex(); |
|
|
| 117 |
switch( columnIndex ) { |
122 |
switch( columnIndex ) { |
| 118 |
case FIRST_NAME: |
123 |
case FIRST_NAME: |
| 119 |
cell.setText( person.firstName ); |
124 |
cell.setText( person.firstName ); |
|
Lines 129-134
Link Here
|
| 129 |
break; |
134 |
break; |
| 130 |
} |
135 |
} |
| 131 |
} |
136 |
} |
|
|
137 |
|
| 138 |
public String getToolTipText( final Object element ) { |
| 139 |
Person person = ( Person )element; |
| 140 |
String text = null; |
| 141 |
switch( columnIndex ) { |
| 142 |
case FIRST_NAME: |
| 143 |
text = person.firstName; |
| 144 |
break; |
| 145 |
case LAST_NAME: |
| 146 |
text = person.lastName; |
| 147 |
break; |
| 148 |
case AGE: |
| 149 |
text = String.valueOf( person.age ); |
| 150 |
break; |
| 151 |
case EDITABLE: |
| 152 |
text = person.editable ? "yes" : "no"; |
| 153 |
break; |
| 154 |
} |
| 155 |
return text; |
| 156 |
} |
| 132 |
} |
157 |
} |
| 133 |
|
158 |
|
| 134 |
private static final class PersonComparator |
159 |
private static final class PersonComparator |
|
Lines 363-375
Link Here
|
| 363 |
private Label lblSelection; |
388 |
private Label lblSelection; |
| 364 |
private Button btnCreateCellEditor; |
389 |
private Button btnCreateCellEditor; |
| 365 |
private final PersonFilter viewerFilter; |
390 |
private final PersonFilter viewerFilter; |
| 366 |
private final PersonLabelProvider labelProvider; |
|
|
| 367 |
private final java.util.List persons = new ArrayList(); |
391 |
private final java.util.List persons = new ArrayList(); |
| 368 |
|
392 |
|
| 369 |
public TableViewerTab( final CTabFolder topFolder ) { |
393 |
public TableViewerTab( final CTabFolder topFolder ) { |
| 370 |
super( topFolder, "TableViewer" ); |
394 |
super( topFolder, "TableViewer" ); |
| 371 |
viewerFilter = new PersonFilter(); |
395 |
viewerFilter = new PersonFilter(); |
| 372 |
labelProvider = new PersonLabelProvider(); |
|
|
| 373 |
} |
396 |
} |
| 374 |
|
397 |
|
| 375 |
private void initPersons() { |
398 |
private void initPersons() { |
|
Lines 430-436
Link Here
|
| 430 |
} else { |
453 |
} else { |
| 431 |
viewer.setContentProvider( new LazyPersonContentProvider() ); |
454 |
viewer.setContentProvider( new LazyPersonContentProvider() ); |
| 432 |
} |
455 |
} |
| 433 |
viewer.setLabelProvider( new PersonLabelProvider() ); |
|
|
| 434 |
firstNameColumn = createFirstNameColumn(); |
456 |
firstNameColumn = createFirstNameColumn(); |
| 435 |
lastNameColumn = createLastNameColumn(); |
457 |
lastNameColumn = createLastNameColumn(); |
| 436 |
ageColumn = createAgeColumn(); |
458 |
ageColumn = createAgeColumn(); |
|
Lines 445-450
Link Here
|
| 445 |
} |
467 |
} |
| 446 |
} ); |
468 |
} ); |
| 447 |
viewer.getTable().setHeaderVisible( true ); |
469 |
viewer.getTable().setHeaderVisible( true ); |
|
|
470 |
viewer.getTable().setData( Table.ENABLE_CELL_TOOLTIP, Boolean.TRUE ); |
| 448 |
gridDataFactory = GridDataFactory.swtDefaults(); |
471 |
gridDataFactory = GridDataFactory.swtDefaults(); |
| 449 |
gridDataFactory.grab( true, true ); |
472 |
gridDataFactory.grab( true, true ); |
| 450 |
gridDataFactory.align( SWT.FILL, SWT.FILL ); |
473 |
gridDataFactory.align( SWT.FILL, SWT.FILL ); |
|
Lines 455-461
Link Here
|
| 455 |
|
478 |
|
| 456 |
private TableViewerColumn createFirstNameColumn() { |
479 |
private TableViewerColumn createFirstNameColumn() { |
| 457 |
TableViewerColumn result = new TableViewerColumn( viewer, SWT.NONE ); |
480 |
TableViewerColumn result = new TableViewerColumn( viewer, SWT.NONE ); |
| 458 |
result.setLabelProvider( labelProvider ); |
481 |
result.setLabelProvider( new PersonLabelProvider( FIRST_NAME ) ); |
| 459 |
TableColumn column = result.getColumn(); |
482 |
TableColumn column = result.getColumn(); |
| 460 |
column.setText( "First Name" ); |
483 |
column.setText( "First Name" ); |
| 461 |
column.setWidth( 170 ); |
484 |
column.setWidth( 170 ); |
|
Lines 471-477
Link Here
|
| 471 |
|
494 |
|
| 472 |
private TableViewerColumn createLastNameColumn() { |
495 |
private TableViewerColumn createLastNameColumn() { |
| 473 |
TableViewerColumn result = new TableViewerColumn( viewer, SWT.NONE ); |
496 |
TableViewerColumn result = new TableViewerColumn( viewer, SWT.NONE ); |
| 474 |
result.setLabelProvider( labelProvider ); |
497 |
result.setLabelProvider( new PersonLabelProvider( LAST_NAME ) ); |
| 475 |
TableColumn column = result.getColumn(); |
498 |
TableColumn column = result.getColumn(); |
| 476 |
column.setText( "Last Name" ); |
499 |
column.setText( "Last Name" ); |
| 477 |
column.setWidth( 120 ); |
500 |
column.setWidth( 120 ); |
|
Lines 487-493
Link Here
|
| 487 |
|
510 |
|
| 488 |
private TableViewerColumn createAgeColumn() { |
511 |
private TableViewerColumn createAgeColumn() { |
| 489 |
TableViewerColumn result = new TableViewerColumn( viewer, SWT.NONE ); |
512 |
TableViewerColumn result = new TableViewerColumn( viewer, SWT.NONE ); |
| 490 |
result.setLabelProvider( labelProvider ); |
513 |
result.setLabelProvider( new PersonLabelProvider( AGE ) ); |
| 491 |
TableColumn column = result.getColumn(); |
514 |
TableColumn column = result.getColumn(); |
| 492 |
column.setText( "Age" ); |
515 |
column.setText( "Age" ); |
| 493 |
column.setWidth( 80 ); |
516 |
column.setWidth( 80 ); |
|
Lines 503-509
Link Here
|
| 503 |
|
526 |
|
| 504 |
private TableViewerColumn createEditableColumn() { |
527 |
private TableViewerColumn createEditableColumn() { |
| 505 |
TableViewerColumn result = new TableViewerColumn( viewer, SWT.NONE ); |
528 |
TableViewerColumn result = new TableViewerColumn( viewer, SWT.NONE ); |
| 506 |
result.setLabelProvider( labelProvider ); |
529 |
result.setLabelProvider( new PersonLabelProvider( EDITABLE ) ); |
| 507 |
TableColumn column = result.getColumn(); |
530 |
TableColumn column = result.getColumn(); |
| 508 |
column.setText( "Editable" ); |
531 |
column.setText( "Editable" ); |
| 509 |
column.setWidth( 50 ); |
532 |
column.setWidth( 50 ); |