List of usage examples for org.eclipse.jface.viewers TableViewer setContentProvider
@Override public void setContentProvider(IContentProvider provider)
AbstractTableViewer
. From source file:org.eclipse.jface.snippets.viewers.Snippet027ComboBoxCellEditors.java
License:Open Source License
public Snippet027ComboBoxCellEditors(Shell shell) { final Table table = new Table(shell, SWT.BORDER | SWT.FULL_SELECTION); final TableViewer v = new TableViewer(table); v.setContentProvider(ArrayContentProvider.getInstance()); TableColumn column = new TableColumn(table, SWT.NONE); column.setWidth(200);/*from w ww .j av a 2s . c o m*/ column.setText("Column 1"); TableViewerColumn viewerColumn = new TableViewerColumn(v, column); viewerColumn.setLabelProvider(new ColumnLabelProvider()); viewerColumn.setEditingSupport(new EditingSupport(v) { @Override protected void setValue(Object element, Object value) { ((MyModel) element).counter = ((Integer) value).intValue() * 10; getViewer().update(element, null); } @Override protected Object getValue(Object element) { // We need to calculate back to the index return Integer.valueOf(((MyModel) element).counter / 10); } @Override protected CellEditor getCellEditor(Object element) { return new ComboBoxCellEditor(v.getTable(), new String[] { "Zero", "Ten", "Twenty", "Thirty", "Fourty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety" }); } @Override protected boolean canEdit(Object element) { return true; } }); v.setInput(createModel()); v.getTable().setLinesVisible(true); v.getTable().setHeaderVisible(true); }
From source file:org.eclipse.jface.snippets.viewers.Snippet029VirtualTableViewer.java
License:Open Source License
public Snippet029VirtualTableViewer(Shell shell) { final TableViewer v = new TableViewer(shell, SWT.VIRTUAL); v.setLabelProvider(new LabelProvider()); v.setContentProvider(ArrayContentProvider.getInstance()); v.setUseHashlookup(true);//from w w w .ja v a 2 s.c o m createColumn(v.getTable(), "Column 1"); v.setInput(createModel()); v.getTable().setLinesVisible(true); }
From source file:org.eclipse.jface.snippets.viewers.Snippet030VirtualLazyTableViewer.java
License:Open Source License
public Snippet030VirtualLazyTableViewer(Shell shell) { final TableViewer v = new TableViewer(shell, SWT.VIRTUAL); v.setLabelProvider(new LabelProvider()); v.setContentProvider(new MyContentProvider(v)); v.setUseHashlookup(true);// w w w . j av a 2 s . c o m createColumn(v.getTable(), "Column 1"); MyModel[] model = createModel(); v.setInput(model); v.setItemCount(model.length); // This is the difference when using a // ILazyContentProvider v.getTable().setLinesVisible(true); }
From source file:org.eclipse.jface.snippets.viewers.Snippet031TableViewerCustomTooltipsMultiSelection.java
License:Open Source License
public Snippet031TableViewerCustomTooltipsMultiSelection(Shell shell) { final Table table = new Table(shell, SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION); table.setHeaderVisible(true);//w w w . j a va 2s . co m table.setLinesVisible(true); final TableViewer v = new TableViewer(table); TableColumn tableColumn1 = new TableColumn(table, SWT.NONE); TableColumn tableColumn2 = new TableColumn(table, SWT.NONE); String column1 = "Column 1", column2 = "Column 2"; /* Setup the table columns */ tableColumn1.setText(column1); tableColumn2.setText(column2); tableColumn1.pack(); tableColumn2.pack(); v.setColumnProperties(new String[] { column1, column2 }); v.setLabelProvider(new MyLableProvider()); v.setContentProvider(new ArrayContentProvider()); v.setInput(createModel()); /** * The listener that gets added to the table. This listener is responsible for creating the tooltips * when hovering over a cell item. This listener will listen for the following events: * <li>SWT.KeyDown - to remove the tooltip</li> * <li>SWT.Dispose - to remove the tooltip</li> * <li>SWT.MouseMove - to remove the tooltip</li> * <li>SWT.MouseHover - to set the tooltip</li> */ Listener tableListener = new Listener() { Shell tooltip = null; Label label = null; @Override public void handleEvent(Event event) { switch (event.type) { case SWT.KeyDown: case SWT.Dispose: case SWT.MouseMove: { if (tooltip == null) break; tooltip.dispose(); tooltip = null; label = null; break; } case SWT.MouseHover: { Point coords = new Point(event.x, event.y); TableItem item = table.getItem(coords); if (item != null) { int columnCount = table.getColumnCount(); for (int columnIndex = 0; columnIndex < columnCount; columnIndex++) { if (item.getBounds(columnIndex).contains(coords)) { /* Dispose of the old tooltip (if one exists */ if (tooltip != null && !tooltip.isDisposed()) tooltip.dispose(); /* Create a new Tooltip */ tooltip = new Shell(table.getShell(), SWT.ON_TOP | SWT.NO_FOCUS | SWT.TOOL); tooltip.setBackground(table.getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND)); FillLayout layout = new FillLayout(); layout.marginWidth = 2; tooltip.setLayout(layout); label = new Label(tooltip, SWT.NONE); label.setForeground(table.getDisplay().getSystemColor(SWT.COLOR_INFO_FOREGROUND)); label.setBackground(table.getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND)); /* Store the TableItem with the label so we can pass the mouse event later */ label.setData("_TableItem_", item); /* Set the tooltip text */ label.setText("Tooltip: " + item.getData() + " : " + columnIndex); /* Setup Listeners to remove the tooltip and transfer the received mouse events */ label.addListener(SWT.MouseExit, tooltipLabelListener); label.addListener(SWT.MouseDown, tooltipLabelListener); /* Set the size and position of the tooltip */ Point size = tooltip.computeSize(SWT.DEFAULT, SWT.DEFAULT); Rectangle rect = item.getBounds(columnIndex); Point pt = table.toDisplay(rect.x, rect.y); tooltip.setBounds(pt.x, pt.y, size.x, size.y); /* Show it */ tooltip.setVisible(true); break; } } } } } } }; table.addListener(SWT.Dispose, tableListener); table.addListener(SWT.KeyDown, tableListener); table.addListener(SWT.MouseMove, tableListener); table.addListener(SWT.MouseHover, tableListener); }
From source file:org.eclipse.jface.snippets.viewers.Snippet034CellEditorPerRow.java
License:Open Source License
public Snippet034CellEditorPerRow(Shell shell) { final Table table = new Table(shell, SWT.BORDER | SWT.FULL_SELECTION); final TableViewer v = new TableViewer(table); v.getTable().setLinesVisible(true);/*from w w w.ja v a2s. co m*/ TableViewerColumn column = new TableViewerColumn(v, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setText("Column 1"); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return element.toString(); } }); column.setEditingSupport(new MyEditingSupport(v)); v.setContentProvider(ArrayContentProvider.getInstance()); v.setInput(createModel()); v.getTable().setHeaderVisible(true); }
From source file:org.eclipse.jface.snippets.viewers.Snippet035TableCursorCellHighlighter.java
License:Open Source License
public Snippet035TableCursorCellHighlighter(Shell shell) { int style = SWT.BORDER | SWT.HIDE_SELECTION | SWT.FULL_SELECTION; final TableViewer v = new TableViewer(shell, style); v.setContentProvider(ArrayContentProvider.getInstance()); TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(v, new CursorCellHighlighter(v, new TableCursor(v))); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v) { @Override/*www .j a v a 2s . c om*/ protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == SWT.CR) || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; int features = ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION; TableViewerEditor.create(v, focusCellManager, actSupport, features); TableViewerColumn viewerColumn = new TableViewerColumn(v, SWT.NONE); viewerColumn.getColumn().setWidth(200); viewerColumn.getColumn().setText("Column 1"); viewerColumn.setEditingSupport(new MyEditingSupport(v, "1")); viewerColumn.setLabelProvider(new MyColumnLabelProvider("1")); viewerColumn = new TableViewerColumn(v, SWT.NONE); viewerColumn.getColumn().setWidth(200); viewerColumn.getColumn().setText("Column 2"); viewerColumn.setEditingSupport(new MyEditingSupport(v, "2")); viewerColumn.setLabelProvider(new MyColumnLabelProvider("2")); MyModel[] model = createModel(); v.setInput(model); v.getTable().setLinesVisible(true); v.getTable().setHeaderVisible(true); }
From source file:org.eclipse.jface.snippets.viewers.Snippet036FocusBorderCellHighlighter.java
License:Open Source License
public Snippet036FocusBorderCellHighlighter(Shell shell) { final TableViewer v = new TableViewer(shell, SWT.BORDER | SWT.FULL_SELECTION); v.setContentProvider(ArrayContentProvider.getInstance()); TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(v, new FocusBorderCellHighlighter(v)); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v) { @Override/*from www . j a va 2 s.c o m*/ protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == SWT.CR) || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; int feature = ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION; TableViewerEditor.create(v, focusCellManager, actSupport, feature); String[] columLabels = { "Column 1", "Column 2", "Column 3" }; int property = 0; for (String label : columLabels) { createColumnFor(v, label, property++); } v.setInput(createModel()); v.getTable().setLinesVisible(true); v.getTable().setHeaderVisible(true); }
From source file:org.eclipse.jface.snippets.viewers.Snippet037FancyCustomTooltips.java
License:Open Source License
/** * @param args//from w ww.ja va 2 s . c o m */ public static void main(String[] args) { final Display display = new Display(); Shell shell = new Shell(display); shell.setLayout(new FillLayout()); TableViewer v = new TableViewer(shell, SWT.FULL_SELECTION); v.getTable().setLinesVisible(true); v.getTable().setHeaderVisible(true); v.setContentProvider(ArrayContentProvider.getInstance()); FancyToolTipSupport.enableFor(v, ToolTip.NO_RECREATE); CellLabelProvider labelProvider = new CellLabelProvider() { @Override public String getToolTipText(Object element) { return "<html><body>Tooltip (" + element + ")<br /><a href='http://www.bestsolution.at' target='_NEW'>www.bestsolution.at</a></body></html>"; } @Override public Point getToolTipShift(Object object) { return new Point(5, 5); } @Override public int getToolTipDisplayDelayTime(Object object) { return 2000; } @Override public int getToolTipTimeDisplayed(Object object) { return 5000; } @Override public void update(ViewerCell cell) { cell.setText(cell.getElement().toString()); } }; TableViewerColumn column = new TableViewerColumn(v, SWT.NONE); column.setLabelProvider(labelProvider); column.getColumn().setText("Column 1"); column.getColumn().setWidth(100); String[] values = new String[] { "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten" }; v.setInput(values); shell.setSize(200, 200); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } display.dispose(); }
From source file:org.eclipse.jface.snippets.viewers.Snippet040TableViewerSorting.java
License:Open Source License
public Snippet040TableViewerSorting(Shell shell) { TableViewer viewer = new TableViewer(shell, SWT.BORDER | SWT.FULL_SELECTION); viewer.setContentProvider(ArrayContentProvider.getInstance()); TableViewerColumn column = createColumnFor(viewer, "Givenname"); column.setLabelProvider(new ColumnLabelProvider() { @Override/*from w w w .ja va2 s.co m*/ public String getText(Object element) { return ((Person) element).givenname; } }); column.setEditingSupport(new AbstractEditingSupport(viewer) { @Override protected Object getValue(Object element) { return ((Person) element).givenname; } @Override protected void doSetValue(Object element, Object value) { ((Person) element).givenname = value.toString(); } }); ColumnViewerComparator cSorter = new ColumnViewerComparator(viewer, column) { @Override protected int doCompare(Viewer viewer, Object e1, Object e2) { Person p1 = (Person) e1; Person p2 = (Person) e2; return p1.givenname.compareToIgnoreCase(p2.givenname); } }; column = createColumnFor(viewer, "Surname"); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((Person) element).surname; } }); column.setEditingSupport(new AbstractEditingSupport(viewer) { @Override protected Object getValue(Object element) { return ((Person) element).surname; } @Override protected void doSetValue(Object element, Object value) { ((Person) element).surname = value.toString(); } }); new ColumnViewerComparator(viewer, column) { @Override protected int doCompare(Viewer viewer, Object e1, Object e2) { Person p1 = (Person) e1; Person p2 = (Person) e2; return p1.surname.compareToIgnoreCase(p2.surname); } }; column = createColumnFor(viewer, "E-Mail"); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((Person) element).email; } }); column.setEditingSupport(new AbstractEditingSupport(viewer) { @Override protected Object getValue(Object element) { return ((Person) element).email; } @Override protected void doSetValue(Object element, Object value) { ((Person) element).email = value.toString(); } }); new ColumnViewerComparator(viewer, column) { @Override protected int doCompare(Viewer viewer, Object e1, Object e2) { Person p1 = (Person) e1; Person p2 = (Person) e2; return p1.email.compareToIgnoreCase(p2.email); } }; viewer.setInput(createModel()); viewer.getTable().setLinesVisible(true); viewer.getTable().setHeaderVisible(true); cSorter.setSorter(cSorter, ColumnViewerComparator.ASC); }
From source file:org.eclipse.jface.snippets.viewers.Snippet041TableViewerAlternatingColors.java
License:Open Source License
public Snippet041TableViewerAlternatingColors(Shell shell) { final TableViewer viewer = new TableViewer(shell, SWT.BORDER | SWT.FULL_SELECTION | SWT.VIRTUAL); viewer.setContentProvider(ArrayContentProvider.getInstance()); String[] labels = { "Column 1", "Column 2" }; for (String label : labels) { createColumnFor(viewer, label);/*w w w . j a va 2 s. com*/ } viewer.setInput(createModel()); viewer.getTable().setLinesVisible(true); viewer.getTable().setHeaderVisible(true); Button b = new Button(shell, SWT.PUSH); b.setText("Press to toggle filter"); b.addSelectionListener(createAdapterFor(viewer)); }