Example usage for org.eclipse.jface.viewers TreeViewer getTree

List of usage examples for org.eclipse.jface.viewers TreeViewer getTree

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers TreeViewer getTree.

Prototype

public Tree getTree() 

Source Link

Document

Returns this tree viewer's tree control.

Usage

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));
}