List of usage examples for org.eclipse.jface.viewers TreeViewer getTree
public Tree getTree()
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); v.getTree().setHeaderVisible(true);// ww w.j a v a2 s .c om 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//from w ww . j a va 2 s.co 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()); }
From source file:org.eclipse.jface.snippets.viewers.Snippet064TreeViewerReplacingElements.java
License:Open Source License
public Snippet064TreeViewerReplacingElements(Shell shell) { Random random = new Random(); final Composite c = new Composite(shell, SWT.NONE); c.setLayout(new FillLayout(SWT.VERTICAL)); Label l = new Label(c, SWT.NONE); l.setText(//from w ww.j av a 2s .co m "The elements are ordered lexicografically, i.e. 11 comes before 2,\nPress q, to rename one root element.\nPress w, to rename one child element."); final TreeViewer v = new TreeViewer(c); // Every observable in this example gets typed as Object, since the // input element is an Object List<Object> rootElements = Arrays.asList("root 1", "root 2", "root 3"); Object input = new Object(); AtomicReference<IObservableList<Object>> recentlyCreatedChildList = new AtomicReference<>(); final IObservableList<Object> rootElementList = new WritableList<>( DisplayRealm.getRealm(shell.getDisplay()), Arrays.asList(rootElements), String.class); ITreeContentProvider contentProvider = new ObservableListTreeContentProvider<>(target -> { if (target == input) return rootElementList; if (target.toString().startsWith("root")) { recentlyCreatedChildList.set(new WritableList<>(DisplayRealm.getRealm(shell.getDisplay()), Arrays.asList("child 1", "child 2"), String.class)); return recentlyCreatedChildList.get(); } return null; }, null); v.setContentProvider(contentProvider); v.setComparator(new ViewerComparator()); v.setInput(input); v.getTree().addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { // don't use 'r' and 'c', because they would iterate through the // root... / child... elements if (e.character == 'q') { rootElementList.set(0, "root " + random.nextInt()); } if (e.character == 'w') { IObservableList<Object> childElementsList = recentlyCreatedChildList.get(); if (childElementsList != null) { childElementsList.set(0, "child " + random.nextInt()); } else { System.out.println("no children list present"); } } } }); }
From source file:org.eclipse.jface.snippets.viewers.Snippet067TreeViewerSorted.java
License:Open Source License
public Snippet067TreeViewerSorted(Shell shell, Composite composite) { final TreeViewer v = new TreeViewer(shell); v.setLabelProvider(new LabelProvider()); v.setComparator(new MyComparator()); v.setContentProvider(new MyContentProvider()); createColumn(v.getTree(), "Values"); v.setInput(createModel());//from ww w . j av a 2 s. c om // Combo FormData comboFormData = new FormData(300, 50); comboFormData.left = new FormAttachment(0, 30); comboFormData.right = new FormAttachment(100, -30); comboFormData.bottom = new FormAttachment(100, -30); Combo changeSortingCombo = new Combo(composite, SWT.READ_ONLY); changeSortingCombo.setToolTipText("Change Sorting Method"); changeSortingCombo.setLayoutData(comboFormData); changeSortingCombo.add("Sort Method: Descending by Population"); changeSortingCombo.add("Sort Method: Comparator (Categories)"); changeSortingCombo.select(0); changeSortingCombo.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { int selectedIndex = changeSortingCombo.getSelectionIndex(); if (selectedIndex == 0) { v.setComparator(new MyComparator()); v.setLabelProvider(new DefaultLabelProvider()); } else if (selectedIndex == 1) { v.setComparator(new MyCategoryComparator()); v.setLabelProvider(new MyLabelProvider()); } v.update(v, null); shell.layout(true, true); } }); // Category Legend Composite legendComposite = new Composite(composite, SWT.NONE); final TableViewer legendV = new TableViewer(legendComposite); FormData legendFormData = new FormData(300, 300); legendFormData.right = new FormAttachment(100, -30); legendFormData.left = new FormAttachment(0, 30); legendFormData.top = new FormAttachment(0, 30); legendFormData.bottom = new FormAttachment(changeSortingCombo, -30); legendComposite.setLayoutData(legendFormData); legendComposite.setLayout(new FillLayout()); legendV.setLabelProvider(new LegendLabelProvider()); legendV.setContentProvider(ArrayContentProvider.getInstance()); final String[] legendCategories = { "Population > 1,000,000", "Population > 500,000", "Population > 250,000", "Population > 50,000", "Population > 25,000", "Population > 5000", "Population <= 5000" }; legendV.setInput(legendCategories); legendV.update(legendV, null); // Legend label Label legendLabel = new Label(composite, SWT.BORDER); legendLabel.setSize(50, 25); legendLabel.setText("Legend"); FormData labelFormData = new FormData(50, 25); labelFormData.bottom = new FormAttachment(legendComposite, 0); labelFormData.right = new FormAttachment(legendComposite, 300); legendLabel.setLayoutData(labelFormData); }
From source file:org.eclipse.jpt.common.ui.tests.internal.jface.DelegatingTreeContentProviderUiTest.java
License:Open Source License
private TreeViewer buildTreePanel(Composite parent, String labelText, ITreeContentProvider contentProvider, ILabelProvider labelProvider) {//from w w w. jav a 2 s . co m Composite panel = new Composite(parent, SWT.NONE); panel.setLayoutData(new GridData(GridData.FILL_BOTH)); panel.setLayout(new GridLayout()); Label label = new Label(panel, SWT.LEFT); label.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false)); label.setText(labelText); final TreeViewer tree = new TreeViewer(panel, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); tree.getTree().setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true)); tree.setContentProvider(contentProvider); tree.setLabelProvider(labelProvider); tree.setInput(this.root); return tree; }
From source file:org.eclipse.jpt.jpa.ui.internal.wizards.SelectMappingFileDialog.java
License:Open Source License
@Override protected TreeViewer createTreeViewer(Composite parent) { TreeViewer treeViewer = super.createTreeViewer(parent); this.treeWidget = treeViewer.getTree(); return treeViewer; }
From source file:org.eclipse.jubula.client.ui.controllers.TreeViewContainerGUIController.java
License:Open Source License
/** * collapse or expand the give TreeViewer * /*from w w w . j a v a 2 s . c o m*/ * @param treeCont * ITreeViewerContainer */ public static void collapseExpandTree(ITreeViewerContainer treeCont) { TreeViewer tv = treeCont.getTreeViewer(); try { tv.getTree().setRedraw(false); tv.collapseAll(); int autoExpandLevel = tv.getAutoExpandLevel(); tv.expandToLevel(autoExpandLevel); } finally { tv.getTree().setRedraw(true); } }
From source file:org.eclipse.jubula.client.ui.rcp.businessprocess.UINodeBP.java
License:Open Source License
/** * sets the given selection in the given TreeViewer and also gives the given * tree viewer focus/*from ww w.jav a2 s . c o m*/ * * @param sel * the selection to set * @param tv * the tree viewer to use */ public static void setFocusAndSelection(ISelection sel, TreeViewer tv) { tv.getTree().setFocus(); tv.setSelection(sel, true); }
From source file:org.eclipse.jubula.client.ui.rcp.editors.CentralTestDataEditor.java
License:Open Source License
/** * @param mainTreeViewer//from w ww . ja v a 2 s .com * the tree viewer */ private void addFocusListener(TreeViewer mainTreeViewer) { mainTreeViewer.getTree().addFocusListener(new FocusAdapter() { /** {@inheritDoc} */ public void focusGained(FocusEvent e) { getMainTreeViewer().setSelection(getMainTreeViewer().getSelection(), true); } }); }
From source file:org.eclipse.jubula.client.ui.rcp.editors.ObjectMappingMultiPageEditor.java
License:Open Source License
/** * Creates and returns a tree viewer suitable for use in the split pane * view./* w ww .j av a2 s . com*/ * * @param parent The parent composite for the viewer. * @param title the title to display for the viewer. * @param topLevelCategory The input for the viewer. * @param contextMenuMgr The manager for the context menu for the created * tree. * @return the created viewer. */ private TreeViewer createSplitPaneViewer(Composite parent, String title, IObjectMappingCategoryPO topLevelCategory, MenuManager contextMenuMgr) { Composite composite = new Composite(parent, SWT.NONE); composite.setLayout(new GridLayout()); Label titleLabel = new Label(composite, SWT.NONE); titleLabel.setText(I18n.getString(title)); titleLabel.setLayoutData(GridDataFactory.defaultsFor(titleLabel).create()); final TreeViewer viewer = new TreeViewer(composite); viewer.getTree().setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); setProviders(viewer, getCompNameCache()); viewer.setUseHashlookup(true); viewer.setComparator(new ObjectMappingTreeSorter()); viewer.setComparer(new PersistentObjectComparer()); viewer.setInput(topLevelCategory); Transfer[] transfers = new Transfer[] { org.eclipse.jface.util.LocalSelectionTransfer.getTransfer() }; viewer.addDragSupport(DND.DROP_MOVE, transfers, new LimitingDragSourceListener(viewer, getAut())); viewer.addDropSupport(DND.DROP_MOVE, transfers, new OMDropTargetListener(this, viewer)); createTreeContextMenu(viewer, contextMenuMgr); DialogUtils.setWidgetName(viewer.getTree(), title); IFocusService focusService = getSite().getService(IFocusService.class); focusService.addFocusTracker(viewer.getTree(), title); viewer.getTree().addFocusListener(new FocusAdapter() { public void focusGained(FocusEvent e) { m_activeTreeViewer = viewer; } }); return viewer; }