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

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

Introduction

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

Prototype

public void expandToLevel(int level) 

Source Link

Document

Expands the root of the viewer's tree to the given level.

Usage

From source file:org.eclipse.tcf.te.tcf.processes.ui.editor.ProcessMonitorEventListener.java

License:Open Source License

@Override
public void eventFired(EventObject event) {
    if (event instanceof ChangeEvent) {
        final ChangeEvent changeEvent = (ChangeEvent) event;
        final Object source = changeEvent.getSource();

        if (treeControl.getViewer() != null) {
            if (treeControl.getViewer().getControl() == null
                    || treeControl.getViewer().getControl().isDisposed()) {
                EventManager.getInstance().removeEventListener(this);
                return;
            }/*from ww w .  j  a v  a  2s  .c  o  m*/
            // Property changes for the runtime model refreshes the whole tree.
            if (source instanceof IRuntimeModel) {
                treeControl.getViewer().refresh();
            }

            // Property changes for individual context nodes refreshes the node only
            else if (source instanceof IProcessContextNode) {
                if ("expanded".equals(changeEvent.getEventId())) { //$NON-NLS-1$
                    // Expansion state of the node changed.
                    boolean expanded = ((Boolean) changeEvent.getNewValue()).booleanValue();
                    // Update the nodes expansion state
                    ((TreeViewer) treeControl.getViewer()).setExpandedState(source, expanded);
                } else {
                    ((TreeViewer) treeControl.getViewer()).refresh(source, true);
                }
            }

            else if (source instanceof IPeerNode && source == getPeerNode()) {
                if (IPeerNodeProperties.PROPERTY_CONNECT_STATE.equals(changeEvent.getEventId())) {
                    // Peer node connect state changed to connected
                    if (changeEvent.getNewValue().equals(Integer.valueOf(IConnectable.STATE_CONNECTED))) {
                        // Get the new runtime model
                        final IRuntimeModel model = ModelManager.getRuntimeModel(getPeerNode());
                        // Update the tree viewer input element
                        if (treeControl.getViewer().getInput() != model) {
                            treeControl.getViewer().setInput(model);
                        }
                        // Refresh the model
                        Protocol.invokeLater(new Runnable() {
                            @Override
                            public void run() {
                                model.getService(IRuntimeModelRefreshService.class).refresh(new Callback() {
                                    @Override
                                    protected void internalDone(Object caller, IStatus status) {
                                        // Apply the auto expand level to the tree
                                        final TreeViewer treeViewer = (TreeViewer) treeControl.getViewer();
                                        DisplayUtil.safeAsyncExec(new Runnable() {
                                            @Override
                                            public void run() {
                                                treeViewer.expandToLevel(treeViewer.getAutoExpandLevel());
                                            }
                                        });
                                    }
                                });
                            }
                        });
                    } else {
                        // Trigger a refresh on the whole viewer to show the "Please connect ..." text
                        treeControl.getViewer().refresh();
                    }
                }
            }
        }
    }
}

From source file:org.eclipse.ui.internal.views.log.LogView.java

License:Open Source License

private void asyncRefresh(final boolean activate) {
    if (fTree.isDisposed())
        return;//from  w  ww .  ja  va  2s  . com
    Display display = fTree.getDisplay();
    final ViewPart view = this;
    if (display != null) {
        display.asyncExec(new Runnable() {
            public void run() {
                if (!fTree.isDisposed()) {
                    TreeViewer viewer = fFilteredTree.getViewer();
                    viewer.refresh();
                    viewer.expandToLevel(2);
                    fDeleteLogAction.setEnabled(
                            fInputFile.exists() && fInputFile.equals(Platform.getLogFileLocation().toFile()));
                    fOpenLogAction.setEnabled(fInputFile.exists());
                    fExportLogAction.setEnabled(fInputFile.exists());
                    fExportLogEntryAction.setEnabled(!viewer.getSelection().isEmpty());
                    if (activate && fActivateViewAction.isChecked()) {
                        IWorkbenchWindow window = Activator.getDefault().getWorkbench()
                                .getActiveWorkbenchWindow();
                        if (window != null) {
                            IWorkbenchPage page = window.getActivePage();
                            if (page != null) {
                                page.bringToTop(view);
                            }
                        }
                    }
                }
            }
        });
    }
}

From source file:org.eclipse.xtext.ui.editor.outline.impl.OutlinePage.java

License:Open Source License

protected void refreshViewer(final IOutlineNode rootNode, final Collection<IOutlineNode> nodesToBeExpanded,
        final Collection<IOutlineNode> selectedNodes) {
    DisplayRunHelper.runAsyncInDisplayThread(new Runnable() {
        @Override/*from  ww  w .  j a v a 2s  . c  o m*/
        public void run() {
            try {
                TreeViewer treeViewer = getTreeViewer();
                if (!treeViewer.getTree().isDisposed()) {
                    if (treeViewer.getLabelProvider() != labelProvider) {
                        if (treeViewer.getInput() != null && treeViewer.getContentProvider() != null)
                            treeViewer.setInput(null);
                        treeViewer.setLabelProvider(labelProvider);
                    }
                    if (treeViewer.getContentProvider() != contentProvider) {
                        if (treeViewer.getInput() != null && treeViewer.getContentProvider() != null)
                            treeViewer.setInput(null);
                        treeViewer.setContentProvider(contentProvider);
                    }
                    treeViewer.setInput(rootNode);
                    treeViewer.expandToLevel(1);
                    treeViewer.setExpandedElements(Iterables.toArray(nodesToBeExpanded, IOutlineNode.class));
                    treeViewer.setSelection(
                            new StructuredSelection(Iterables.toArray(selectedNodes, IOutlineNode.class)));
                    ISelectionProvider selectionProvider = sourceViewer.getSelectionProvider();
                    selectionProvider.setSelection(selectionProvider.getSelection());
                    treeUpdated();
                }
            } catch (Throwable t) {
                LOG.error("Error refreshing outline", t);
            }
        }
    });
}

From source file:org.jboss.ide.eclipse.freemarker.outline.OutlinePage.java

License:Open Source License

public void update(Item item) {
    if ((null == item && null != selectedItem) || null == selectedItem && null != item
            || (null != item && null != selectedItem && !item.equals(selectedItem))) {
        if (null == selectedItemSet || !fEditor.getItemSet().equals(selectedItemSet)) {
            TreeViewer viewer = getTreeViewer();
            if (viewer != null) {
                Control control = viewer.getControl();
                if (control != null && !control.isDisposed()) {
                    viewer.removeSelectionChangedListener(this);
                    control.setRedraw(false);
                    viewer.setInput(fInput);
                    control.setRedraw(true);
                    viewer.expandToLevel(3);
                }// w ww  . j a v a2 s. c  om
            }
            selectedItemSet = fEditor.getItemSet();
        }
        select(item);
    }
    selectedItem = item;
    selectedItemSet = fEditor.getItemSet();
}

From source file:org.jboss.tools.openshift.express.internal.ui.wizard.application.details.ApplicationDetailsDialog.java

License:Open Source License

private void fillApplicationDetailsTable(final TreeViewer viewer) {
    viewer.setInput(application);
    viewer.expandToLevel(2);
}

From source file:org.kalypso.contribs.eclipse.ui.dialogs.GenericWizardSelectionPage.java

License:Open Source License

@Override
protected Composite createTreeViewer(final Composite parent) {
    final IWizardCategory root = m_wizardRegistry.getRootCategory();

    m_exportTree = new MyCategorizedWizardSelectionTree(root, m_message);
    final Composite exportComp = m_exportTree.createControl(parent);
    final TreeViewer viewer = m_exportTree.getViewer();
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @SuppressWarnings("synthetic-access")
        @Override/*from   ww  w.  j  ava  2s . c  o  m*/
        public void selectionChanged(final SelectionChangedEvent event) {
            listSelectionChanged(event.getSelection());
        }
    });
    viewer.addDoubleClickListener(new IDoubleClickListener() {
        @SuppressWarnings("synthetic-access")
        @Override
        public void doubleClick(final DoubleClickEvent event) {
            treeDoubleClicked(event);
        }
    });

    viewer.addFilter(m_treeFilter);

    setTreeViewer(viewer);

    viewer.expandToLevel(AbstractTreeViewer.ALL_LEVELS);

    return exportComp;
}

From source file:org.kalypso.model.wspm.pdb.ui.internal.content.statetree.StateTreeComposite.java

License:Open Source License

/** directly set input without using external connection */
public void setInput(final Object[] input) {
    if (isDisposed())
        return;/*from   www.ja va 2 s. c  om*/

    final Display display = getDisplay();

    final TreeViewer stateViewer = m_stateViewer;

    final Runnable runnable = new Runnable() {
        @Override
        public void run() {
            if (stateViewer.getControl().isDisposed())
                return;

            stateViewer.setInput(input);
            stateViewer.expandToLevel(1);
        }
    };

    display.asyncExec(runnable);
}

From source file:org.nabucco.testautomation.config.ui.rcp.command.config.execute.TreeErrorExpander.java

License:Open Source License

/**
 * Expands all error in the master detail tree of the given view.
 * /*from  w  w  w .  j a v a  2s .  c om*/
 * @param view the view
 * @param result the TestConfigurationResult to evaluate
 */
public void expandTree(TestConfigurationResultMaintenanceMultiPageEditView view, TestConfigurationResult result)
        throws ClientException {

    MasterDetailBlock<TestConfigurationResultMaintenanceMultiPageEditViewModel> masterDetailsBlock = view
            .getMasterDetailsBlock();
    TreeViewer treeViewer = masterDetailsBlock.getTreeViewer();

    TestConfigurationStatusType status = result.getStatus();

    if (status == TestConfigurationStatusType.FINISHED) {
        // Expand to level 2
        treeViewer.collapseAll();
        treeViewer.expandToLevel(2);
        // Additionally expand all errors
        List<TestResultContainer> testResultList = result.getTestResultList();
        for (TestResultContainer testResultContainer : testResultList) {
            ArrayList<Integer> initialPath = new ArrayList<Integer>();
            initialPath.add(0);
            initialPath.add(testResultList.indexOf(testResultContainer));
            Set<TreePath> paths = getTreePathsToError(getRoot(treeViewer), testResultContainer.getResult(),
                    initialPath);
            if (paths != null && paths.size() > 0) {
                for (TreePath path : paths) {
                    treeViewer.expandToLevel(path, 0);
                }
            }
        }
        return;
    } else {
        // Expand every path till TestScriptResult
        List<TestResultContainer> testResultList = result.getTestResultList();
        for (TestResultContainer testResultContainer : testResultList) {
            ArrayList<Integer> initialPath = new ArrayList<Integer>();
            initialPath.add(0);
            initialPath.add(testResultList.indexOf(testResultContainer));
            Set<TreePath> paths = getTreePathsToScriptResult(getRoot(treeViewer),
                    testResultContainer.getResult(), initialPath);
            if (paths != null && paths.size() > 0) {
                for (TreePath path : paths) {
                    treeViewer.expandToLevel(path, 0);
                }
            }
        }
        return;
    }
}

From source file:org.opentravel.schemas.trees.type.TypeTree.java

License:Apache License

/**
 * Set up the viewer for use when parentNode is not the window shell.
 * /*ww w  .  j  a  va 2  s .c om*/
 * @param parentNode
 * @param n
 */
public TreeViewer setUpViewer(final Composite parent) {
    TreeViewer typeTree;

    typeTree = new TreeViewer(parent);
    typeTree.setContentProvider(contentProvider);
    typeTree.setLabelProvider(new LibraryTreeLabelProvider());
    typeTree.setSorter(new TypeTreeSorter());
    // typeTree.addSelectionChangedListener(new TypeTreeSelectionChanged()); // Debugging output
    // from selection-change listener

    if (curNode != null) {
        typeTree.setInput(curNode);
    }
    typeTree.expandToLevel(ExpandLevels);
    return typeTree;
}

From source file:org.springframework.ide.eclipse.aop.ui.navigator.AopReferenceModelNavigator.java

License:Open Source License

public static void refreshViewer(TreeViewer viewer, final Object rootElement, Object element) {
    viewer.getTree().setRedraw(false);/*from   w  w  w  . j a  v a  2  s .  co  m*/
    viewer.setInput(rootElement);
    // viewer.refresh();
    viewer.expandToLevel(calculateExpandToLevel(rootElement));
    expandTree(viewer.getTree().getItems(), false);
    revealSelection(viewer, element);
    viewer.getTree().setRedraw(true);
}