List of usage examples for org.eclipse.jface.viewers TreeViewer getTree
public Tree getTree()
From source file:org.eclipse.e4.demio.views.nav.ResourceNavigator.java
License:Open Source License
/** * Initializes and registers the context menu. * //from w w w. j a va 2 s. com * @since 2.0 */ protected void initContextMenu() { MenuManager menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$ menuMgr.setRemoveAllWhenShown(true); menuMgr.addMenuListener(new IMenuListener() { public void menuAboutToShow(IMenuManager manager) { ResourceNavigator.this.fillContextMenu(manager); } }); TreeViewer viewer = getTreeViewer(); Menu menu = menuMgr.createContextMenu(viewer.getTree()); viewer.getTree().setMenu(menu); getSite().registerContextMenu(menuMgr, viewer); }
From source file:org.eclipse.e4.demio.views.nav.ResourceNavigatorRenameAction.java
License:Open Source License
/** * Create a ResourceNavigatorRenameAction and use the tree of the supplied viewer * for editing./*from w ww .jav a2s .co m*/ * @param shell Shell * @param treeViewer TreeViewer */ public ResourceNavigatorRenameAction(Shell shell, TreeViewer treeViewer) { super(shell, treeViewer.getTree()); PlatformUI.getWorkbench().getHelpSystem().setHelp(this, INavigatorHelpContextIds.RESOURCE_NAVIGATOR_RENAME_ACTION); this.viewer = treeViewer; }
From source file:org.eclipse.e4.demo.modifier.SampleView.java
License:Open Source License
/** * Create the sample view.// w w w .ja va2 s . c o m * * @param parent * @param selectionService */ public SampleView(Composite parent, final IEclipseContext outputContext, final IExtensionRegistry registry) { TreeViewer viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); viewer.getTree().setData("class", "navigator"); //$NON-NLS-1$ //$NON-NLS-2$ viewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { outputContext.set(IServiceConstants.SELECTION, event.getSelection()); } }); viewer.setContentProvider(new ITreeContentProvider() { public Object[] getChildren(Object parentElement) { if (parentElement instanceof IConfigurationElement) { return ((IConfigurationElement) parentElement).getChildren(); } return null; } public Object getParent(Object element) { if (element instanceof IConfigurationElement) { return ((IConfigurationElement) element).getParent(); } return null; } public boolean hasChildren(Object element) { if (element instanceof IConfigurationElement) { return ((IConfigurationElement) element).getChildren().length > 0; } return false; } public Object[] getElements(Object inputElement) { if (inputElement instanceof IExtension) { return ((IExtension) inputElement).getConfigurationElements(); } return null; } public void dispose() { } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } }); viewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { if (element instanceof IConfigurationElement) { IConfigurationElement c = (IConfigurationElement) element; String tag = c.getName(); String id = c.getAttribute("id"); //$NON-NLS-1$ if (id == null) { id = c.getAttribute("name"); //$NON-NLS-1$ } if (id == null) { id = c.getAttribute("api"); //$NON-NLS-1$ } if (id == null) { id = c.getAttribute("class"); //$NON-NLS-1$ } return tag + "(" + id + ")"; //$NON-NLS-1$ //$NON-NLS-2$ } return ""; //$NON-NLS-1$ } @Override public Image getImage(Object element) { // TODO update this to look for an icon or image attribute return super.getImage(element); } }); IExtension input = null; IExtension[] extensions = registry.getExtensions("org.eclipse.e4.ui.workbench"); //$NON-NLS-1$ for (int i = 0; i < extensions.length; i++) { if (extensions[i].getExtensionPointUniqueIdentifier().equals("org.eclipse.e4.services")) { //$NON-NLS-1$ input = extensions[i]; break; } } viewer.setInput(input); GridLayoutFactory.fillDefaults().generateLayout(parent); }
From source file:org.eclipse.e4.tools.emf.ui.internal.common.ModelEditor.java
License:Open Source License
private TreeViewer createTreeViewerArea(Composite parent) { final Composite treeArea = new Composite(parent, SWT.BORDER); treeArea.setLayout(new FillLayout()); treeArea.setData(CSS_CLASS_KEY, "formContainer"); //$NON-NLS-1$ treeArea.setBackgroundMode(SWT.INHERIT_DEFAULT); TreeViewer tempViewer = null;/* w w w. j a va 2 s . c om*/ String property = System.getProperty(ORG_ECLIPSE_E4_TOOLS_MODELEDITOR_FILTEREDTREE_ENABLED_XMITAB_DISABLED); if (property != null || preferences.getBoolean("tab-form-search-show", false)) { //$NON-NLS-1$ FilteredTree viewParent = new FilteredTree(treeArea, SWT.MULTI | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL, new PatternFilter(), true); tempViewer = viewParent.getViewer(); } else { tempViewer = new TreeViewerEx(treeArea, SWT.MULTI | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL, emfDocumentProvider, modelProvider); } final TreeViewer viewer = tempViewer; viewer.setLabelProvider(new ComponentLabelProvider(this, messages)); ObservableListTreeContentProvider contentProvider = new ObservableListTreeContentProvider( new ObservableFactoryImpl(), new TreeStructureAdvisor() { }); viewer.setContentProvider(contentProvider); final WritableSet clearedSet = new WritableSet(); contentProvider.getKnownElements().addSetChangeListener(new ISetChangeListener() { @Override public void handleSetChange(SetChangeEvent event) { for (Object o : event.diff.getAdditions()) { if (o instanceof EObject) { clearedSet.add(o); } } for (Object o : event.diff.getRemovals()) { if (o instanceof EObject) { clearedSet.remove(o); } } } }); for (FeaturePath p : labelFeaturePaths) { IObservableMap map = EMFProperties.value(p).observeDetail(clearedSet); map.addMapChangeListener(new IMapChangeListener() { @Override public void handleMapChange(MapChangeEvent event) { viewer.update(event.diff.getChangedKeys().toArray(), null); } }); } viewer.setInput(modelProvider.getRoot()); viewer.setAutoExpandLevel(2); viewer.expandToLevel(viewer.getAutoExpandLevel()); viewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { TreeViewer viewer = (TreeViewer) event.getViewer(); IStructuredSelection thisSelection = (IStructuredSelection) event.getSelection(); Object selectedNode = thisSelection.getFirstElement(); if (mod1Down) { if (viewer.getExpandedState(selectedNode)) viewer.setExpandedState(selectedNode, false); else viewer.expandToLevel(selectedNode, AbstractTreeViewer.ALL_LEVELS); } else { viewer.setExpandedState(selectedNode, !viewer.getExpandedState(selectedNode)); } } }); // Effect of filtered tree implementation (bug 391086) viewer.getTree().addTreeListener(new TreeAdapter() { @Override public void treeCollapsed(TreeEvent e) { viewer.expandToLevel(viewer.getAutoExpandLevel()); } }); int ops = DND.DROP_MOVE; viewer.addDragSupport(ops, new Transfer[] { MemoryTransfer.getInstance() }, new DragListener(viewer)); viewer.addDropSupport(ops, new Transfer[] { MemoryTransfer.getInstance() }, new DropListener(viewer, modelProvider.getEditingDomain())); return viewer; }
From source file:org.eclipse.e4.xwt.tests.snippet019.array.TreeViewerWithArrayFactory.java
License:Open Source License
public void remove(Object sender, Event e) { TreeViewer beanViewer = (TreeViewer) XWT.findElementByName(e.widget, "TreeViewer"); IStructuredSelection structuredSelection = (IStructuredSelection) beanViewer.getSelection(); Bean bean = (Bean) structuredSelection.getFirstElement(); TreeItem selectedItem = beanViewer.getTree().getSelection()[0]; TreeItem parentItem = selectedItem.getParentItem(); Bean parent;/*w ww . j av a 2 s. c om*/ if (parentItem == null) { parent = (Bean) beanViewer.getInput(); } else { parent = (Bean) parentItem.getData(); } IObservableList observableList = XWT.findObservableList(e.widget, parent, "list"); observableList.remove(bean); }
From source file:org.eclipse.e4.xwt.tests.snippet019.set.TreeViewerWithSetFactory.java
License:Open Source License
public void remove(Object sender, Event e) { TreeViewer beanViewer = (TreeViewer) XWT.findElementByName(e.widget, "TreeViewer"); IStructuredSelection structuredSelection = (IStructuredSelection) beanViewer.getSelection(); Bean bean = (Bean) structuredSelection.getFirstElement(); TreeItem selectedItem = beanViewer.getTree().getSelection()[0]; TreeItem parentItem = selectedItem.getParentItem(); Bean parent;//from w w w .j a v a2s . c o m if (parentItem == null) { parent = (Bean) beanViewer.getInput(); } else { parent = (Bean) parentItem.getData(); } IObservableSet observableList = XWT.findObservableSet(e.widget, parent, "list"); observableList.remove(bean); }
From source file:org.eclipse.e4.xwt.tools.ui.designer.databinding.ui.ObservableList.java
License:Open Source License
protected TreeViewer createControlsViewer(Composite control) { TreeViewer treeViewer = new TreeViewer(control, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); GridData layoutData = new GridData(GridData.FILL_BOTH); treeViewer.getTree().setLayoutData(layoutData); treeViewer.setContentProvider(new ITreeContentProvider() { public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { }// w w w . java 2 s. c om public void dispose() { } public Object[] getElements(Object inputElement) { if (inputElement instanceof IObservable[]) { return (IObservable[]) inputElement; } return new Object[0]; } public boolean hasChildren(Object element) { if (element instanceof IObservable) { return ((IObservable) element).hasChildren(); } return false; } public Object getParent(Object element) { if (element instanceof IObservable) { return ((IObservable) element).getParent(); } return null; } public Object[] getChildren(Object parentElement) { if (parentElement instanceof IObservable) { return ((IObservable) parentElement).getChildren(); } return null; } }); treeViewer.setLabelProvider(new LabelProvider() { public String getText(Object element) { if (element instanceof IObservable) { return ((IObservable) element).getDisplayName(); } return super.getText(element); } public Image getImage(Object element) { if (element instanceof IObservable) { Object source = ((IObservable) element).getSource(); if (source == null) { return super.getImage(element); } if (source instanceof Widget) { return ImageShop.getImageForWidget((Widget) source); } else if (source instanceof Viewer) { return ImageShop.getObj16(((Viewer) source).getClass().getSimpleName().toLowerCase()); } else { return ImageShop.getImageForType(source.getClass()); } } return super.getImage(element); } }); treeViewer.setAutoExpandLevel(3); treeViewer.addFilter(new ViewerFilter() { public boolean select(Viewer viewer, Object parentElement, Object element) { if (element instanceof IObservable) { return ((IObservable) element).getProperties().length > 0; } return false; } }); return treeViewer; }
From source file:org.eclipse.ease.modules.unittest.ui.views.UnitTestView.java
License:Open Source License
private TreeViewer createTestArea(final Composite parent) { final Composite composite = new Composite(parent, SWT.NONE); final TreeColumnLayout layout = new TreeColumnLayout(); composite.setLayout(layout);/*from www .j a va2 s .co m*/ final TreeViewer viewer = new TreeViewer(composite, SWT.BORDER | SWT.FULL_SELECTION); viewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(final DoubleClickEvent event) { final Object element = ((IStructuredSelection) event.getSelection()).getFirstElement(); if (element instanceof Test) { List<IScriptDebugFrame> trace; final List<TestResult> messages = ((Test) element).getMessages(); if ((messages != null) && (!messages.isEmpty())) trace = messages.get(0).getStackTrace(); else trace = ((Test) element).getTestLocation(); if (trace != null) { // open trace location for (final IScriptDebugFrame traceElement : trace) { final Object file = traceElement.getScript().getFile(); if (file instanceof IFile) { if (((IFile) file).exists()) { try { final int line = Math.max(traceElement.getLineNumber(), 1); final ITextEditor textEditor = (ITextEditor) UIModule .showEditor((IFile) file); final IDocument document = textEditor.getDocumentProvider() .getDocument(textEditor.getEditorInput()); try { textEditor.selectAndReveal(document.getLineOffset(line - 1), document.getLineLength(line - 1)); } catch (final BadLocationException e) { // TODO implement throw new RuntimeException(e); } } catch (final Throwable e) { // TODO handle this exception (but for now, at least know it happened) throw new RuntimeException(e); } break; } } } } else { // we do not have a trace, open test set final Object input = viewer.getInput(); if (input instanceof TestFile) { try { final Object file = ((TestFile) input).getFile(); if (file instanceof IFile) UIModule.showEditor((IFile) ((TestFile) input).getFile()); } catch (final Throwable e) { // TODO handle this exception (but for now, at least know it happened) throw new RuntimeException(e); } } } } } }); viewer.getTree().setHeaderVisible(true); viewer.getTree().setLinesVisible(true); viewer.setContentProvider(new TestFileContentProvider()); final TreeViewerColumn testColumn = new TreeViewerColumn(viewer, SWT.NONE); testColumn.getColumn().setWidth(100); testColumn.getColumn().setText("Test"); layout.setColumnData(testColumn.getColumn(), new ColumnWeightData(30, 50, true)); testColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(final Object element) { if (element instanceof Test) return ((Test) element).getTitle(); if (element instanceof Entry<?, ?>) // metadata return ((Entry<?, ?>) element).getKey().toString(); return ""; } @Override public Image getImage(final Object element) { if (element instanceof Entry<?, ?>) // metadata return fResourceManager.createImage(Activator.getImageDescriptor(Activator.ICON_METADATA)); TestStatus status = null; if (element instanceof Test) status = ((Test) element).getStatus(); else if (element instanceof TestResult) status = ((TestResult) element).getStatus(); if (status != null) { switch (status) { case PASS: return fResourceManager.createImage(Activator.getImageDescriptor(Activator.ICON_PASS)); case ERROR: return fResourceManager.createImage(Activator.getImageDescriptor(Activator.ICON_ERROR)); case FAILURE: return fResourceManager.createImage(Activator.getImageDescriptor(Activator.ICON_FAILURE)); case RUNNING: return fResourceManager.createImage(Activator.getImageDescriptor(Activator.ICON_RUNNING)); default: return super.getImage(element); } } return super.getImage(element); } @Override public String getToolTipText(final Object element) { if (element instanceof Test) { if ((((Test) element).getDescription() != null) && (!((Test) element).getDescription().isEmpty())) return ((Test) element).getDescription(); } return super.getToolTipText(element); } }); final TreeViewerColumn messageColumn = new TreeViewerColumn(viewer, SWT.NONE); messageColumn.getColumn().setWidth(100); messageColumn.getColumn().setText("Message"); layout.setColumnData(messageColumn.getColumn(), new ColumnWeightData(70, 50, true)); messageColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(final Object element) { if (element instanceof Test) { final TestResult message = ((Test) element).getSeverestMessage(); if (message != null) return message.getDescription(); return ((Test) element).getDescription(); } if (element instanceof Entry<?, ?>) // metadata return ((Entry<?, ?>) element).getValue().toString(); return super.getText(element); } }); ColumnViewerToolTipSupport.enableFor(viewer, ToolTip.NO_RECREATE); return viewer; }
From source file:org.eclipse.ease.ui.scripts.ui.ScriptDragSource.java
License:Open Source License
/** * Constructor. Gets its macros from a tree selection. * /*from ww w.j a v a 2 s . c o m*/ * @param tree * tree to read from */ public ScriptDragSource(final TreeViewer tree) { super(tree.getTree()); fTree = tree; }
From source file:org.eclipse.ease.ui.scripts.ui.ScriptDragSource.java
License:Open Source License
/** * Does everything to add drag support to a given tree. * //from ww w. j av a2s. com * @param treeViewer * tree to add drag support to */ public static final void addDragSupport(final TreeViewer treeViewer) { final DragSource source = new DragSource(treeViewer.getTree(), DND.DROP_MOVE | DND.DROP_COPY); source.setTransfer(new Transfer[] { LocalSelectionTransfer.getTransfer() }); source.addDragListener(new ScriptDragSource(treeViewer)); }