List of usage examples for org.eclipse.jface.viewers TreeViewer setContentProvider
@Override public void setContentProvider(IContentProvider provider)
TreeViewer
. From source file:org.eclipse.jface.snippets.viewers.Snippet002TreeViewer.java
License:Open Source License
public Snippet002TreeViewer(Shell shell) { final TreeViewer v = new TreeViewer(shell); v.setLabelProvider(new LabelProvider()); v.setContentProvider(new MyContentProvider()); createColumn(v.getTree(), "Values"); v.setInput(createModel());/*www . java2 s. c om*/ }
From source file:org.eclipse.jface.snippets.viewers.Snippet005TreeCustomMenu.java
License:Open Source License
public Snippet005TreeCustomMenu(Shell shell) { final TreeViewer v = new TreeViewer(shell); v.setLabelProvider(new LabelProvider()); v.setContentProvider(new MyContentProvider()); v.setInput(createModel());//from www. ja v a 2 s .com createColumn(v.getTree(), "Values"); final Action a = new Action("") { }; final MenuManager mgr = new MenuManager(); mgr.setRemoveAllWhenShown(true); mgr.addMenuListener(new IMenuListener() { @Override public void menuAboutToShow(IMenuManager manager) { IStructuredSelection selection = v.getStructuredSelection(); if (!selection.isEmpty()) { a.setText("Action for " + selection.getFirstElement()); mgr.add(a); } } }); v.getControl().setMenu(mgr.createContextMenu(v.getControl())); }
From source file:org.eclipse.jface.snippets.viewers.Snippet015CustomTooltipsForTree.java
License:Open Source License
/** * @param args//from w ww . j ava 2s. c om */ public static void main(String[] args) { final Display display = new Display(); Shell shell = new Shell(display); shell.setLayout(new FillLayout()); TreeViewer v = new TreeViewer(shell, SWT.FULL_SELECTION); v.getTree().setLinesVisible(true); v.getTree().setHeaderVisible(true); ColumnViewerToolTipSupport.enableFor(v); v.setContentProvider(new MyContentProvider()); CellLabelProvider labelProvider = new CellLabelProvider() { @Override public String getToolTipText(Object element) { return "Tooltip (" + element + ")"; } @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()); } }; v.setLabelProvider(labelProvider); v.setInput(""); shell.setSize(200, 200); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } display.dispose(); }
From source file:org.eclipse.jface.snippets.viewers.Snippet026TreeViewerTabEditing.java
License:Open Source License
public Snippet026TreeViewerTabEditing(final Shell shell) { Button b = new Button(shell, SWT.PUSH); b.setText("Remove column"); final TreeViewer v = new TreeViewer(shell, SWT.BORDER | SWT.FULL_SELECTION); v.getTree().setLinesVisible(true);//from w w w. j a va 2 s. c o m v.getTree().setHeaderVisible(true); b.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { if (v.getTree().getColumnCount() > 1) { v.getTree().getColumn(1).dispose(); } } }); TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(v, new FocusCellOwnerDrawHighlighter(v)); 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; TreeViewerEditor.create(v, focusCellManager, actSupport, feature); final TextCellEditor textCellEditor = new TextCellEditor(v.getTree()); String[] columLabels = { "Column 1", "Column 2", "Column 3" }; String[] labelPrefix = { "Column 1 => ", "Column 2 => ", "Column 3 => " }; for (int i = 0; i < columLabels.length; i++) { TreeViewerColumn column = new TreeViewerColumn(v, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setMoveable(true); column.getColumn().setText(columLabels[i]); column.setLabelProvider(createColumnLabelProvider(labelPrefix[i])); column.setEditingSupport(createEditingSupportFor(v, textCellEditor)); } v.setContentProvider(new MyContentProvider()); v.setInput(createModel()); }
From source file:org.eclipse.jface.snippets.viewers.Snippet043TreeViewerKeyboardEditing.java
License:Open Source License
public Snippet043TreeViewerKeyboardEditing(final Shell shell) { Button b = new Button(shell, SWT.PUSH); b.setText("Press Tab, or click here to edit first child element"); final TreeViewer v = new TreeViewer(shell, SWT.BORDER | SWT.FULL_SELECTION); b.addSelectionListener(new SelectionAdapter() { @Override//from ww w. ja v a 2s . com public void widgetSelected(SelectionEvent e) { MyModel root = (MyModel) v.getInput(); TreePath path = new TreePath( new Object[] { root, root.child.get(1), root.child.get(1).child.get(0) }); v.editElement(path, 0); } }); TreeViewerColumn viewerColumn = new TreeViewerColumn(v, SWT.NONE); viewerColumn.getColumn().setWidth(300); viewerColumn.setLabelProvider(new ColumnLabelProvider()); viewerColumn.setEditingSupport(new EditingSupport(v) { @Override protected void setValue(Object element, Object value) { ((MyModel) element).counter = Integer.parseInt(value.toString()); getViewer().update(element, null); } @Override protected Object getValue(Object element) { return ((MyModel) element).counter + ""; } @Override protected CellEditor getCellEditor(Object element) { return new TextCellEditor((Composite) getViewer().getControl()); } @Override protected boolean canEdit(Object element) { return true; } }); TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(v, new FocusCellOwnerDrawHighlighter(v)); 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; } }; TreeViewerEditor.create(v, focusCellManager, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); v.setContentProvider(new MyContentProvider()); v.setInput(createModel()); }
From source file:org.eclipse.jface.snippets.viewers.Snippet048TreeViewerTabWithCheckboxFor3_3.java
License:Open Source License
public Snippet048TreeViewerTabWithCheckboxFor3_3(final Shell shell) { final TreeViewer v = new TreeViewer(shell, SWT.BORDER | SWT.FULL_SELECTION); v.getTree().setLinesVisible(true);/*from ww w .j av a 2 s .c o m*/ v.getTree().setHeaderVisible(true); final TreeViewerFocusCellManager mgr = new TreeViewerFocusCellManager(v, new FocusCellOwnerDrawHighlighter(v)); 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.character == ' ')) || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; TreeViewerEditor.create(v, mgr, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); final TextCellEditor textCellEditor = new TextCellEditor(v.getTree()); final CheckboxCellEditor checkboxCellEditor = new CheckboxCellEditor(v.getTree()); TreeViewerColumn column = new TreeViewerColumn(v, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setMoveable(true); column.getColumn().setText("Column 1"); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return "Column 1 => " + element; } }); column.setEditingSupport(new EditingSupport(v) { @Override protected boolean canEdit(Object element) { return false; } @Override protected CellEditor getCellEditor(Object element) { return textCellEditor; } @Override protected Object getValue(Object element) { return ((MyModel) element).counter + ""; } @Override protected void setValue(Object element, Object value) { ((MyModel) element).counter = Integer.parseInt(value.toString()); v.update(element, null); } }); column = new TreeViewerColumn(v, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setMoveable(true); column.getColumn().setText("Column 2"); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return "Column 2 => " + element; } }); column.setEditingSupport(new EditingSupport(v) { @Override protected boolean canEdit(Object element) { return true; } @Override protected CellEditor getCellEditor(Object element) { return textCellEditor; } @Override protected Object getValue(Object element) { return ((MyModel) element).counter + ""; } @Override protected void setValue(Object element, Object value) { ((MyModel) element).counter = Integer.parseInt(value.toString()); v.update(element, null); } }); column = new TreeViewerColumn(v, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setMoveable(true); column.getColumn().setText("Column 3"); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((MyModel) element).bool + ""; } }); column.setEditingSupport(new EditingSupport(v) { @Override protected boolean canEdit(Object element) { return true; } @Override protected CellEditor getCellEditor(Object element) { return checkboxCellEditor; } @Override protected Object getValue(Object element) { return Boolean.valueOf(((MyModel) element).bool); } @Override protected void setValue(Object element, Object value) { ((MyModel) element).bool = ((Boolean) value).booleanValue(); v.update(element, null); } }); v.setContentProvider(new MyContentProvider()); v.setInput(createModel()); v.getControl().addTraverseListener(new TraverseListener() { @Override public void keyTraversed(TraverseEvent e) { if ((e.detail == SWT.TRAVERSE_TAB_NEXT || e.detail == SWT.TRAVERSE_TAB_PREVIOUS) && mgr.getFocusCell().getColumnIndex() == 2) { ColumnViewerEditor editor = v.getColumnViewerEditor(); ViewerCell cell = mgr.getFocusCell(); try { Method m = ColumnViewerEditor.class.getDeclaredMethod("processTraverseEvent", new Class[] { int.class, ViewerRow.class, TraverseEvent.class }); m.setAccessible(true); m.invoke(editor, Integer.valueOf(cell.getColumnIndex()), cell.getViewerRow(), e); } catch (SecurityException | NoSuchMethodException | IllegalArgumentException | IllegalAccessException | InvocationTargetException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } } }); }
From source file:org.eclipse.jface.snippets.viewers.Snippet050DelegatingStyledCellLabelProvider.java
License:Open Source License
private ColumnViewer createViewer(String description, Composite parent, CellLabelProvider labelProvider1, CellLabelProvider labelProvider2) { Composite composite = new Composite(parent, SWT.NONE); composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); 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(description);//from w w w . j a v a 2 s . co m TreeViewer treeViewer = new TreeViewer(composite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); treeViewer.getTree().setHeaderVisible(true); treeViewer.setContentProvider(new FileSystemContentProvider()); TreeViewerColumn tvc1 = new TreeViewerColumn(treeViewer, SWT.NONE); tvc1.getColumn().setText("Name"); //$NON-NLS-1$ tvc1.getColumn().setWidth(200); tvc1.setLabelProvider(labelProvider1); TreeViewerColumn tvc2 = new TreeViewerColumn(treeViewer, SWT.NONE); tvc2.getColumn().setText("Date Modified"); //$NON-NLS-1$ tvc2.getColumn().setWidth(200); tvc2.setLabelProvider(labelProvider2); GridData data = new GridData(GridData.FILL, GridData.FILL, true, true); treeViewer.getControl().setLayoutData(data); treeViewer.setInput(new FileSystemRoot()); return treeViewer; }
From source file:org.eclipse.jface.snippets.viewers.Snippet055HideShowColumn.java
License:Open Source License
public Snippet055HideShowColumn(final Shell shell) { final TreeViewer v = new TreeViewer(shell, SWT.BORDER | SWT.FULL_SELECTION); v.getTree().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1)); v.getTree().setLinesVisible(true);//w w w .j av a 2s .c o m v.getTree().setHeaderVisible(true); TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(v, new FocusCellOwnerDrawHighlighter(v)); 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; } }; TreeViewerEditor.create(v, focusCellManager, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); final TextCellEditor textCellEditor = new TextCellEditor(v.getTree()); createColumnFor(v, "Column 1", textCellEditor); final TreeViewerColumn column_2 = createColumnFor(v, "Column 2", textCellEditor); createColumnFor(v, "Column 3", textCellEditor); v.setContentProvider(new MyContentProvider()); v.setInput(createModel()); Button b = createButtonFor(shell, "Edit-Element"); b.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { MyModel root = (MyModel) v.getInput(); TreePath path = new TreePath( new Object[] { root, root.child.get(1), root.child.get(1).child.get(0) }); v.editElement(path, 0); } }); b = createButtonFor(shell, "Hide/Show 2nd Column"); b.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { int width = column_2.getColumn().getWidth(); column_2.getColumn().setWidth(width == 0 ? 200 : 0); } }); }
From source file:org.eclipse.jface.snippets.viewers.Snippet056BooleanCellEditor.java
License:Open Source License
public Snippet056BooleanCellEditor(final Shell shell) { final TreeViewer v = new TreeViewer(shell, SWT.BORDER | SWT.FULL_SELECTION); v.getTree().setLinesVisible(true);/* ww w . j a va 2 s . c o m*/ v.getTree().setHeaderVisible(true); FocusCellOwnerDrawHighlighter h = new FocusCellOwnerDrawHighlighter(v) { @Override protected Color getSelectedCellBackgroundColorNoFocus(ViewerCell cell) { return shell.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND); } @Override protected Color getSelectedCellForegroundColorNoFocus(ViewerCell cell) { return shell.getDisplay().getSystemColor(SWT.COLOR_WIDGET_FOREGROUND); } }; TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(v, h); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v); int feature = ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION; TreeViewerEditor.create(v, focusCellManager, actSupport, feature); final TextCellEditor textCellEditor = new TextCellEditor(v.getTree()); final BooleanCellEditor booleanCellEditor = new BooleanCellEditor(v.getTree()); TreeViewerColumn column = createColumnFor(v, "Column 1"); column.setLabelProvider(new MyColumnLabelProvider("Column 1")); column.setEditingSupport(new MyEditingSupport(v, v, textCellEditor)); column = createColumnFor(v, "Column 2"); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((MyModel) element).flag + ""; } }); column.setEditingSupport(new EditingSupport(v) { @Override protected boolean canEdit(Object element) { return true; } @Override protected CellEditor getCellEditor(Object element) { return booleanCellEditor; } @Override protected Object getValue(Object element) { return Boolean.valueOf(((MyModel) element).flag); } @Override protected void setValue(Object element, Object value) { ((MyModel) element).flag = ((Boolean) value).booleanValue(); v.update(element, null); } }); column = createColumnFor(v, "Column 3"); column.setLabelProvider(new MyColumnLabelProvider("Column 3")); column.setEditingSupport(new MyEditingSupport(v, v, textCellEditor)); v.setContentProvider(new MyContentProvider()); v.setInput(createModel()); }
From source file:org.eclipse.jface.snippets.viewers.Snippet061FakedNativeCellEditor.java
License:Open Source License
public Snippet061FakedNativeCellEditor(final Shell shell) { final TreeViewer viewer = new TreeViewer(shell, SWT.BORDER | SWT.FULL_SELECTION); viewer.getTree().setLinesVisible(true); viewer.getTree().setBackgroundMode(SWT.INHERIT_DEFAULT); viewer.getTree().setHeaderVisible(true); FocusCellOwnerDrawHighlighter h = new FocusCellOwnerDrawHighlighter(viewer) { @Override/* w w w .ja va 2s. c o m*/ protected Color getSelectedCellBackgroundColorNoFocus(ViewerCell cell) { return shell.getDisplay().getSystemColor(SWT.COLOR_LIST_SELECTION); } @Override protected Color getSelectedCellForegroundColorNoFocus(ViewerCell cell) { return shell.getDisplay().getSystemColor(SWT.COLOR_WIDGET_FOREGROUND); } }; TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(viewer, h); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(viewer); int features = ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION; TreeViewerEditor.create(viewer, focusCellManager, actSupport, features); final TextCellEditor textCellEditor = new TextCellEditor(viewer.getTree()); final BooleanCellEditor booleanCellEditor = new BooleanCellEditor(viewer.getTree()); booleanCellEditor.setChangeOnActivation(true); TreeViewerColumn column = null; column = createColumnFor(viewer, SWT.NONE, "File"); column.setLabelProvider(new OwnerDrawLabelProvider() { @Override protected void measure(Event event, Object element) { } @Override protected void paint(Event event, Object element) { ((TreeItem) event.item).setText(element.toString()); } }); column.setEditingSupport(new MyEditingSupport(viewer, textCellEditor, viewer)); column = createColumnFor(viewer, SWT.CENTER, "Read"); column.setLabelProvider(new EmulatedNativeCheckBoxLabelProvider(viewer) { @Override protected boolean isChecked(Object element) { return ((File) element).read; } }); column.setEditingSupport(new MyEditingSupport(viewer, textCellEditor, viewer)); column = createColumnFor(viewer, SWT.CENTER, "Write"); column.setLabelProvider(new EmulatedNativeCheckBoxLabelProvider(viewer) { @Override protected boolean isChecked(Object element) { return ((File) element).write; } }); column.setEditingSupport(new MyEditingSupport(viewer, textCellEditor, viewer)); column = createColumnFor(viewer, SWT.CENTER, "Execute"); column.setLabelProvider(new EmulatedNativeCheckBoxLabelProvider(viewer) { @Override protected boolean isChecked(Object element) { return ((File) element).execute; } }); column.setEditingSupport(new MyEditingSupport(viewer, textCellEditor, viewer)); viewer.setContentProvider(new MyContentProvider()); viewer.setInput(createModel()); }