List of usage examples for org.eclipse.jface.viewers TreeViewer getTree
public Tree getTree()
From source file:org.eclipse.handly.ui.quickoutline.FilteringOutlinePopup.java
License:Open Source License
@Override protected TreeViewer createTreeViewer(Composite parent) { TreeViewer baseTreeViewer = super.createTreeViewer(parent); return new FilteringOutlineTreeViewer(baseTreeViewer.getTree()); }
From source file:org.eclipse.handly.ui.quickoutline.FilteringOutlinePopup.java
License:Open Source License
/** * Selects the first element that matches the current filter pattern. *//*from w w w. j a v a 2 s. c o m*/ protected void selectFirstMatch() { Object focalElement = getFocalElement(); Object focalItem = null; TreeViewer treeViewer = getTreeViewer(); if (focalElement != null) focalItem = treeViewer.testFindItem(focalElement); TreeItem item; Tree tree = treeViewer.getTree(); if (focalItem instanceof TreeItem) item = findItem(new TreeItem[] { (TreeItem) focalItem }); else item = findItem(tree.getItems()); if (item == null) treeViewer.setSelection(StructuredSelection.EMPTY); else { tree.setSelection(item); tree.showItem(item); } }
From source file:org.eclipse.jface.snippets.layout.Snippet027TreeLayout.java
License:Open Source License
public Snippet027TreeLayout(Shell shell) { final TreeViewer v = new TreeViewer(shell); v.getTree().setHeaderVisible(true); v.getTree().setLinesVisible(true);/*from w w w.j a v a2 s .co m*/ TreeColumnLayout ad = new TreeColumnLayout(); shell.setLayout(ad); TreeColumn column1 = createTreeColumn(v.getTree(), "Column 1"); TreeColumn column2 = createTreeColumn(v.getTree(), "Column 2"); ad.setColumnData(column1, new ColumnWeightData(50, 100)); ad.setColumnData(column2, new ColumnWeightData(50, 100)); v.setLabelProvider(new MyLabelProvider()); v.setContentProvider(new MyContentProvider()); v.setInput(createModel()); }
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());// ww w . j av a2 s .c o m }
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());//w w w.j a va 2 s . co m 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/*w w w.j a va 2s . co m*/ */ 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); v.getTree().setHeaderVisible(true);// w ww. j av a 2 s .c o m 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.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); v.getTree().setHeaderVisible(true);/*from w ww . j a v a 2 s. c o m*/ 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. c om*/ 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);// www .j av a 2s .co 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); } }); }