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.Snippet044TableViewerKeyboardEditing.java
License:Open Source License
public Snippet044TableViewerKeyboardEditing(Shell shell) { final TableViewer v = new TableViewer(shell, SWT.BORDER | SWT.FULL_SELECTION); v.setContentProvider(ArrayContentProvider.getInstance()); TableViewerColumn viewerColumn = new TableViewerColumn(v, SWT.NONE); viewerColumn.getColumn().setWidth(200); viewerColumn.getColumn().setText("Column 0"); viewerColumn.setLabelProvider(new MyColumnLabelProvider(v.getTable(), 0)); viewerColumn.setEditingSupport(new MyEditingSupport(v, "1")); TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(v, new FocusBorderCellHighlighter(v)); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v) { @Override//from w w w. j a v a 2 s.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; } }; TableViewerEditor.create(v, focusCellManager, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); MyModel[] model = createModel(); v.setInput(model); v.getTable().setLinesVisible(true); v.getTable().setHeaderVisible(true); }
From source file:org.eclipse.jface.snippets.viewers.Snippet045TableViewerFillFromBackgroundThread.java
License:Open Source License
public Snippet045TableViewerFillFromBackgroundThread(final Shell shell) { final TableViewer v = new TableViewer(shell, SWT.BORDER | SWT.FULL_SELECTION); v.setLabelProvider(new MyLabelProvider()); v.setContentProvider(ArrayContentProvider.getInstance()); TableColumn column = new TableColumn(v.getTable(), SWT.NONE); column.setWidth(200);//from w ww. j a va 2s .com column.setText("Column 1"); column = new TableColumn(v.getTable(), SWT.NONE); column.setWidth(200); column.setText("Column 2"); final List<MyModel> model = new ArrayList<>(); model.add(new MyModel(0)); model.add(new MyModel(0)); model.add(new MyModel(0)); v.setInput(model); v.setComparator(new ViewerComparator() { @Override public int compare(Viewer viewer, Object e1, Object e2) { MyModel m1 = (MyModel) e1; MyModel m2 = (MyModel) e2; return m2.counter - m1.counter; } }); v.getTable().setLinesVisible(true); v.getTable().setHeaderVisible(true); TimerTask task = new TimerTask() { @Override public void run() { shell.getDisplay().syncExec(() -> { MyModel el = new MyModel(++COUNTER); v.add(el); model.add(el); }); } }; Timer timer = new Timer(true); timer.scheduleAtFixedRate(task, 3000, 1000); }
From source file:org.eclipse.jface.snippets.viewers.Snippet046UpdateViewerFromBackgroundThread.java
License:Open Source License
public Snippet046UpdateViewerFromBackgroundThread(Shell shell) { final TableViewer v = new TableViewer(shell, SWT.BORDER | SWT.FULL_SELECTION); v.setLabelProvider(new MyLabelProvider()); v.setContentProvider(ArrayContentProvider.getInstance()); TableColumn column = new TableColumn(v.getTable(), SWT.NONE); column.setWidth(200);//from w w w.j av a 2s.c o m column.setText("Column 1"); column = new TableColumn(v.getTable(), SWT.NONE); column.setWidth(200); column.setText("Column 2"); final MyModel[] model = createModel(); v.setInput(model); v.getTable().setLinesVisible(true); v.getTable().setHeaderVisible(true); Button b = new Button(shell, SWT.PUSH); b.setText("Start Long Task"); b.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { b.setText("Update running.."); b.setEnabled(false); final Thread t = new Thread() { @Override public void run() { for (int i = 0; i < model.length; i++) { if (v.getTable().isDisposed()) { return; } final int j = i; v.getTable().getDisplay().asyncExec(() -> { if (model[j].finished) { model[j].finished = false; } else { model[j].finished = true; } v.update(model[j], null); }); try { Thread.sleep(new Random().nextInt(1000) + 100); } catch (InterruptedException e) { e.printStackTrace(); } } v.getTable().getDisplay().asyncExec(() -> { b.setText("Start Long Task"); b.setEnabled(true); }); } }; t.start(); } }); }
From source file:org.eclipse.jface.snippets.viewers.Snippet049StyledCellLabelProvider.java
License:Open Source License
public Composite createPartControl(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); composite.setLayout(new GridLayout(1, true)); Label label = new Label(composite, SWT.NONE); label.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false)); label.setText("Viewer with a StyledCellLabelProvider:"); //$NON-NLS-1$ final TableViewer tableViewer = new TableViewer(composite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); // Multi-font support only works in JFace 3.5 and above (specifically, 3.5 M4 and above). // With JFace 3.4, the font information (bold in this example) will be ignored. FontData[] boldFontData = getModifiedFontData(tableViewer.getTable().getFont().getFontData(), SWT.BOLD); Font boldFont = new Font(Display.getCurrent(), boldFontData); ExampleLabelProvider labelProvider = new ExampleLabelProvider(boldFont); FileSystemContentProvider contentProvider = new FileSystemContentProvider(); tableViewer.setContentProvider(contentProvider); tableViewer.setLabelProvider(labelProvider); GridData data = new GridData(GridData.FILL, GridData.FILL, true, true); tableViewer.getControl().setLayoutData(data); tableViewer.setInput(new Object()); return composite; }
From source file:org.eclipse.jface.snippets.viewers.Snippet051TableCenteredImage.java
License:Open Source License
public Snippet051TableCenteredImage(Shell shell) { final TableViewer v = new TableViewer(shell, SWT.BORDER | SWT.FULL_SELECTION); v.setContentProvider(ArrayContentProvider.getInstance()); TableViewerColumn column = new TableViewerColumn(v, SWT.NONE); column.getColumn().setWidth(200);/*from ww w .ja va 2 s . c o m*/ column.getColumn().setText("Column 1"); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return "Column 1 => " + element + ((((MyModel) element).counter % 2 != 0) ? " barcode" : ""); } }); column = new TableViewerColumn(v, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setText("Column 2"); column.setLabelProvider(new CenterImageLabelProvider() { @Override protected Image getImage(Object element) { if (((MyModel) element).counter % 2 == 0) { return images[((MyModel) element).counter / 2 % 4]; } return null; } }); // OwnerDrawLabelProvider.setUpOwnerDraw(v); MyModel[] model = createModel(); v.setInput(model); v.getTable().setLinesVisible(true); v.getTable().setHeaderVisible(true); }
From source file:org.eclipse.jface.snippets.viewers.Snippet052DoubleClickCellEditor.java
License:Open Source License
public Snippet052DoubleClickCellEditor(Shell shell) { final TableViewer viewer = new TableViewer(shell, SWT.BORDER | SWT.FULL_SELECTION); viewer.setContentProvider(ArrayContentProvider.getInstance()); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(viewer) { @Override/*w ww.j av a 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.PROGRAMMATIC; } }; int feature = ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION; TableViewerEditor.create(viewer, actSupport, feature); String[] labels = { "Column 1", "Column 2", "Column 3" }; String[] properties = new String[] { "1", "2", "3" }; int i = 0; for (String label : labels) { createColumnFor(viewer, label, properties[i++]); } viewer.setInput(createModel()); viewer.getTable().setLinesVisible(true); viewer.getTable().setHeaderVisible(true); }
From source file:org.eclipse.jface.snippets.viewers.Snippet054NativeControlsInViewers.java
License:Open Source License
public Snippet054NativeControlsInViewers(Shell shell) { final TableViewer viewer = new TableViewer(shell, SWT.BORDER | SWT.FULL_SELECTION); viewer.setContentProvider(ArrayContentProvider.getInstance()); viewer.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1)); TableViewerColumn column = createColumnFor(viewer, "Column 1"); column.setLabelProvider(new ColumnLabelProvider() { @Override/*from w w w . ja v a 2 s . c o m*/ public String getText(Object element) { return element.toString(); } }); column = createColumnFor(viewer, "Column 2"); column.setLabelProvider(createCellLabelProvider()); viewer.setInput(createModel(10)); viewer.getTable().setLinesVisible(true); viewer.getTable().setHeaderVisible(true); Button b = createButtonFor(shell, "Modify Input"); b.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { viewer.setInput(createModel((int) (Math.random() * 10))); } }); b = createButtonFor(shell, "Refresh"); b.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { viewer.refresh(); } }); }
From source file:org.eclipse.jface.snippets.viewers.Snippet057TableViewerSkipHiddenCells.java
License:Open Source License
public Snippet057TableViewerSkipHiddenCells(Shell shell) { final TableViewer tableviewer = new TableViewer(shell, SWT.BORDER | SWT.FULL_SELECTION); tableviewer.setContentProvider(ArrayContentProvider.getInstance()); MenuManager mgr = new MenuManager(); mgr.add(new Action("toggle surname visibility") { @Override//w w w . j a va 2s .com public void run() { if (tableviewer.getTable().getColumn(1).getWidth() == 0) { tableviewer.getTable().getColumn(1).setWidth(200); } else { tableviewer.getTable().getColumn(1).setWidth(0); } } }); tableviewer.getControl().setMenu(mgr.createContextMenu(tableviewer.getControl())); // Column 1 TableViewerColumn column = new TableViewerColumn(tableviewer, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setText("Givenname"); column.getColumn().setMoveable(false); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((Person) element).givenname; } }); column.setEditingSupport(new AbstractEditingSupport(tableviewer) { @Override protected Object getValue(Object element) { return ((Person) element).givenname; } @Override protected void doSetValue(Object element, Object value) { ((Person) element).givenname = value.toString(); } }); // Column 2 is zero-width hidden column = new TableViewerColumn(tableviewer, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setText("Surname"); column.getColumn().setMoveable(false); column.getColumn().setResizable(false); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((Person) element).surname; } }); column.setEditingSupport(new AbstractEditingSupport(tableviewer) { @Override protected Object getValue(Object element) { return ((Person) element).surname; } @Override protected void doSetValue(Object element, Object value) { ((Person) element).surname = value.toString(); } }); // column 3 column = new TableViewerColumn(tableviewer, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setText("E-Mail"); column.getColumn().setMoveable(false); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((Person) element).email; } }); column.setEditingSupport(new AbstractEditingSupport(tableviewer) { @Override protected Object getValue(Object element) { return ((Person) element).email; } @Override protected void doSetValue(Object element, Object value) { ((Person) element).email = value.toString(); } }); Person[] model = this.createModel(); tableviewer.setInput(model); tableviewer.getTable().setLinesVisible(true); tableviewer.getTable().setHeaderVisible(true); TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(tableviewer, new FocusCellOwnerDrawHighlighter(tableviewer)); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(tableviewer) { @Override 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; } }; TableViewerEditor.create(tableviewer, focusCellManager, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); }
From source file:org.eclipse.jface.snippets.viewers.Snippet058CellNavigationIn34.java
License:Open Source License
public Snippet058CellNavigationIn34(Shell shell) { final TableViewer v = new TableViewer(shell, SWT.BORDER | SWT.FULL_SELECTION); v.setContentProvider(ArrayContentProvider.getInstance()); TableViewerColumn column = null;/*from w w w .java2 s. c o m*/ column = createColumnFor(v, "Givenname"); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((Person) element).givenname; } }); column.setEditingSupport(new AbstractEditingSupport(v) { @Override protected Object getValue(Object element) { return ((Person) element).givenname; } @Override protected void doSetValue(Object element, Object value) { ((Person) element).givenname = value.toString(); } }); column = createColumnFor(v, "Surname"); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((Person) element).surname; } }); column.setEditingSupport(new AbstractEditingSupport(v) { @Override protected Object getValue(Object element) { return ((Person) element).surname; } @Override protected void doSetValue(Object element, Object value) { ((Person) element).surname = value.toString(); } }); column = createColumnFor(v, "E-Mail"); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((Person) element).email; } }); column.setEditingSupport(new AbstractEditingSupport(v) { @Override protected Object getValue(Object element) { return ((Person) element).email; } @Override protected void doSetValue(Object element, Object value) { ((Person) element).email = value.toString(); } }); column = createColumnFor(v, "Gender"); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((Person) element).gender; } }); ComboBoxCellEditor editor = new ComboBoxCellEditor(v.getTable(), new String[] { "M", "F" }); editor.setActivationStyle(ComboBoxCellEditor.DROP_DOWN_ON_TRAVERSE_ACTIVATION | ComboBoxCellEditor.DROP_DOWN_ON_PROGRAMMATIC_ACTIVATION | ComboBoxCellEditor.DROP_DOWN_ON_MOUSE_ACTIVATION | ComboBoxCellEditor.DROP_DOWN_ON_KEY_ACTIVATION); column.setEditingSupport(new AbstractEditingSupport(v, editor) { @Override protected Object getValue(Object element) { if (((Person) element).gender.equals("M")) return Integer.valueOf(0); return Integer.valueOf(1); } @Override protected void doSetValue(Object element, Object value) { if (((Integer) value).intValue() == 0) { ((Person) element).gender = "M"; } else { ((Person) element).gender = "F"; } } }); CellNavigationStrategy naviStrat = new CellNavigationStrategy() { @Override public ViewerCell findSelectedCell(ColumnViewer viewer, ViewerCell currentSelectedCell, Event event) { ViewerCell cell = super.findSelectedCell(viewer, currentSelectedCell, event); if (cell != null) { v.getTable().showColumn(v.getTable().getColumn(cell.getColumnIndex())); } return cell; } }; TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(v, new FocusCellOwnerDrawHighlighter(v), naviStrat); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v) { @Override 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); v.getColumnViewerEditor().addEditorActivationListener(new ColumnViewerEditorActivationListener() { @Override public void afterEditorActivated(ColumnViewerEditorActivationEvent event) { } @Override public void afterEditorDeactivated(ColumnViewerEditorDeactivationEvent event) { } @Override public void beforeEditorActivated(ColumnViewerEditorActivationEvent event) { ViewerCell cell = (ViewerCell) event.getSource(); v.getTable().showColumn(v.getTable().getColumn(cell.getColumnIndex())); } @Override public void beforeEditorDeactivated(ColumnViewerEditorDeactivationEvent event) { } }); Person[] model = createModel(); v.setInput(model); v.getTable().setLinesVisible(true); v.getTable().setHeaderVisible(true); }
From source file:org.eclipse.jface.snippets.viewers.Snippet060TextCellEditorWithContentProposal.java
License:Open Source License
public Snippet060TextCellEditorWithContentProposal(Shell shell) { final TableViewer viewer = new TableViewer(shell, SWT.BORDER | SWT.FULL_SELECTION); final Table table = viewer.getTable(); table.setLinesVisible(true);/* w w w .j av a2 s. co m*/ table.setHeaderVisible(true); final TableViewerColumn colorColumn = new TableViewerColumn(viewer, SWT.LEFT); colorColumn.getColumn().setText("Color name"); colorColumn.getColumn().setWidth(200); colorColumn.setLabelProvider(new ColumnLabelProvider()); colorColumn.setEditingSupport(new ColorNameEditingSupport(viewer)); viewer.setContentProvider(new ArrayContentProvider()); ColumnViewerEditorActivationStrategy activationSupport = new ColumnViewerEditorActivationStrategy(viewer) { @Override protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == KeyLookupFactory.getDefault() .formalKeyLookup(IKeyLookup.ENTER_NAME)); } }; activationSupport.setEnableEditorActivationWithKeyboard(true); /* * Without focus highlighter, keyboard events will not be delivered to * ColumnViewerEditorActivationStragety#isEditorActivationEvent(...) (see above) */ FocusCellHighlighter focusCellHighlighter = new FocusCellOwnerDrawHighlighter(viewer); TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(viewer, focusCellHighlighter); TableViewerEditor.create(viewer, focusCellManager, activationSupport, ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); viewer.setInput(createModel()); }