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, boolean disableRedraw) 

Source Link

Document

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

Usage

From source file:org.jboss.tools.windup.ui.internal.rules.delegate.ElementUiDelegate.java

License:Open Source License

public static Action createAddElementAction(IStructuredModel model, Node parent, CMElementDeclaration ed,
        int index, IElementUiDelegate delegate, TreeViewer treeViewer) {
    Action action = null;//from www  .  ja  v a2  s .c o m
    if (ed != null) {
        action = new AddNodeAction(model, ed, parent, index) {
            @Override
            public void run() {
                super.run();
                if (!result.isEmpty()) {
                    Object element = result.get(0);
                    Object[] children = null;
                    if (delegate != null) {
                        children = delegate.getChildren();
                    } else if (treeViewer != null) {
                        ITreeContentProvider provider = (ITreeContentProvider) treeViewer.getContentProvider();
                        children = provider.getChildren(element);
                    }
                    if (children != null) {
                        java.util.Optional<Object> optional = Arrays.stream(children)
                                .filter(e -> Objects.equal(element, e)).findFirst();
                        if (optional.isPresent()) {
                            treeViewer.expandToLevel(element, TreeViewer.ALL_LEVELS);
                            treeViewer.setSelection(new StructuredSelection(element), true);
                        }
                    }
                }
            }
        };
    }
    return action;
}

From source file:org.jkiss.dbeaver.ui.actions.navigator.NavigatorHandlerExpandAll.java

License:Open Source License

@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
    IWorkbenchPart activePart = HandlerUtil.getActivePart(event);
    if (activePart instanceof NavigatorViewBase) {
        TreeViewer navigatorViewer = ((NavigatorViewBase) activePart).getNavigatorViewer();
        ISelection selection = navigatorViewer.getSelection();
        if (selection.isEmpty()) {
            navigatorViewer.expandAll();
        } else if (selection instanceof IStructuredSelection) {
            for (Iterator iter = ((IStructuredSelection) selection).iterator(); iter.hasNext();) {
                navigatorViewer.expandToLevel(iter.next(), TreeViewer.ALL_LEVELS);
            }//from   w w  w . j  ava  2  s.  co  m
        }
    }
    return null;
}

From source file:org.jkiss.dbeaver.ui.navigator.database.NavigatorViewBase.java

License:Open Source License

protected DatabaseNavigatorTree createNavigatorTree(Composite parent, DBNNode rootNode) {
    // Create tree
    DatabaseNavigatorTree navigatorTree = new DatabaseNavigatorTree(parent, rootNode, getTreeStyle());

    navigatorTree.getViewer().addSelectionChangedListener(new ISelectionChangedListener() {
        @Override/* w  ww .  ja v a  2s. c  o  m*/
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection structSel = (IStructuredSelection) event.getSelection();
            if (!structSel.isEmpty()) {
                lastSelection = structSel.getFirstElement();
                if (lastSelection instanceof DBNNode) {
                    String desc = ((DBNNode) lastSelection).getNodeDescription();
                    if (CommonUtils.isEmpty(desc)) {
                        desc = ((DBNNode) lastSelection).getNodeName();
                    }
                    getViewSite().getActionBars().getStatusLineManager().setMessage(desc);
                }
            } else {
                lastSelection = null;
            }
        }
    });
    navigatorTree.getViewer().addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            TreeViewer viewer = tree.getViewer();
            IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
            if (selection.size() == 1) {
                DBNNode node = (DBNNode) selection.getFirstElement();
                if (node instanceof DBNLocalFolder
                        || (node instanceof DBNResource
                                && ((DBNResource) node).getResource() instanceof IFolder)
                        || (node instanceof DBNDataSource
                                && DoubleClickBehavior.valueOf(DBeaverCore.getGlobalPreferenceStore().getString(
                                        DBeaverPreferences.NAVIGATOR_CONNECTION_DOUBLE_CLICK)) == DoubleClickBehavior.EXPAND)) {
                    if (Boolean.TRUE.equals(viewer.getExpandedState(node))) {
                        viewer.collapseToLevel(node, 1);
                    } else {
                        viewer.expandToLevel(node, 1);
                    }

                } else if (node instanceof DBNResource) {
                    NavigatorHandlerObjectOpen.openResource(((DBNResource) node).getResource(),
                            getSite().getWorkbenchWindow());
                } else if (node instanceof DBNDataSource) {
                    DBPDataSourceContainer dataSource = ((DBNDataSource) node).getObject();
                    NavigatorViewBase.DoubleClickBehavior doubleClickBehavior = NavigatorViewBase.DoubleClickBehavior
                            .valueOf(DBeaverCore.getGlobalPreferenceStore()
                                    .getString(DBeaverPreferences.NAVIGATOR_CONNECTION_DOUBLE_CLICK));
                    switch (doubleClickBehavior) {
                    case EDIT:
                        NavigatorHandlerObjectOpen.openEntityEditor((DBNDataSource) node, null,
                                DBeaverUI.getActiveWorkbenchWindow());
                        break;
                    case CONNECT:
                        if (dataSource.isConnected()) {
                            DataSourceHandler.disconnectDataSource(dataSource, null);
                        } else {
                            DataSourceHandler.connectToDataSource(null, dataSource, null);
                        }
                        break;
                    case SQL_EDITOR:
                        OpenSQLEditorHandler.openRecentScript(getSite().getWorkbenchWindow(), dataSource, null);
                        break;
                    }
                } else if (node instanceof DBNDatabaseNode && node.allowsOpen()) {
                    NavigatorHandlerObjectOpen.openEntityEditor((DBNDatabaseNode) node, null,
                            getSite().getWorkbenchWindow());
                }
            }
        }

    });

    // Hook context menu
    NavigatorUtils.addContextMenu(this.getSite(), navigatorTree.getViewer(),
            navigatorTree.getViewer().getControl());
    // Add drag and drop support
    NavigatorUtils.addDragAndDropSupport(navigatorTree.getViewer());

    return navigatorTree;
}

From source file:org.kalypso.project.database.client.extension.project.AbstractModuleProjectOpenAction.java

License:Open Source License

private void revealProjectInExplorer(final IWorkbenchPage page, final IProject project)
        throws PartInitException {
    // At least show project in Resource Navigator
    final StructuredSelection projectSelection = new StructuredSelection(project);

    final CommonNavigator projectExplorer = (CommonNavigator) page.findView(IPageLayout.ID_PROJECT_EXPLORER);
    if (projectExplorer != null) {
        page.showView(IPageLayout.ID_PROJECT_EXPLORER, null, IWorkbenchPage.VIEW_ACTIVATE);
        final CommonViewer commonViewer = projectExplorer.getCommonViewer();
        commonViewer.collapseAll();//from  w  ww . j a va  2 s  .c om
        commonViewer.setSelection(projectSelection);
        commonViewer.expandToLevel(project, 1);
    } else {
        final ResourceNavigator view = (ResourceNavigator) page.showView(IPageLayout.ID_RES_NAV);
        if (view != null) {
            final TreeViewer treeViewer = view.getTreeViewer();
            treeViewer.collapseAll();
            view.selectReveal(projectSelection);
            treeViewer.expandToLevel(project, 1);
        }
    }
}

From source file:org.key_project.util.eclipse.swt.SWTUtil.java

License:Open Source License

/**
 * Thread save execution of {@link TreeViewer#expandToLevel(Object, int)}.
 * @param viewer The {@link TreeViewer} to expand element in.
 * @param elementOrTreePaths The element to expand.
 * @param level Non-negative level, or {@link AbstractTreeViewer#ALL_LEVELS} to expand all levels of the tree.
 *//*from w  w w . jav  a 2  s. c o  m*/
public static void expandToLevel(final TreeViewer viewer, final Object elementOrTreePath, final int level) {
    if (viewer != null && !viewer.getControl().isDisposed()) {
        viewer.getControl().getDisplay().syncExec(new Runnable() {
            @Override
            public void run() {
                viewer.expandToLevel(elementOrTreePath, level);
            }
        });
    }
}

From source file:org.nabucco.testautomation.script.ui.rcp.multipage.maintenance.masterdetails.widgetcreators.action.CodeParameterListDoubleClickListener.java

License:Open Source License

@Override
public void doubleClick(DoubleClickEvent arg0) {
    ScriptMaintenanceMultiplePageEditView view = (ScriptMaintenanceMultiplePageEditView) Activator.getDefault()
            .getView(ScriptMaintenanceMultiplePageEditView.ID);
    TreeViewer treeViewer = view.getMasterDetailsBlock().getTreeViewer();
    MasterDetailTreeNode actionNode = (MasterDetailTreeNode) ((StructuredSelection) treeViewer.getSelection())
            .getFirstElement();//from w ww.ja  v  a2 s  . c o m

    CodeParameter codeParameter = (CodeParameter) ((StructuredSelection) listViewer.getSelection())
            .getFirstElement();

    if (actionNode.getDatatype() instanceof Action) {
        Action action = (Action) actionNode.getDatatype();
        List<MasterDetailTreeNode> actionChildrenNodeList = actionNode.getChildren();
        boolean foundPropertList = false;
        for (MasterDetailTreeNode actionNodeChild : actionChildrenNodeList) {
            if (actionNodeChild.getDatatype() instanceof PropertyList) {
                addProperty(actionNodeChild, codeParameter);
                foundPropertList = true;
                break;
            }
        }
        if (!foundPropertList) {
            PropertyList propertyList = (PropertyList) ((PropertyContainer) ScriptElementFactory
                    .create(PropertyList.class)).getProperty();
            propertyList.setName(ACTION_PARAMS);
            action.setPropertyList(propertyList);

            if (action.getDatatypeState() == DatatypeState.PERSISTENT) {
                action.setDatatypeState(DatatypeState.MODIFIED);
            }

            MasterDetailTreeNode newNode = new MasterDetailTreeNode(propertyList, actionNode);
            newNode.setViewModel(actionNode.getViewModel());
            actionNode.getChildren().add(newNode);
            addProperty(newNode, codeParameter);
        }
    }
    treeViewer.refresh();
    treeViewer.expandToLevel(actionNode, 2);
}

From source file:org.openmaji.implementation.tool.eclipse.browser.relationship.space.controllers.MeemController.java

License:Open Source License

public void handleDoubleClick(DoubleClickEvent e) {
    TreeViewer viewer = (TreeViewer) getMeemNode().getViewer();
    boolean expanded = viewer.getExpandedState(getNode());
    if (expanded) {
        viewer.collapseToLevel(getNode(), 1);
    } else {//from   w w w . j  a v a2s  .  c om
        viewer.expandToLevel(getNode(), 1);
        viewer.refresh(getNode());
    }
}

From source file:org.ripla.rap.demo.widgets.views.TreeWidgetsView.java

License:Open Source License

/**
 * TreeWidgetsView constructor.//  ww  w . ja  v a2  s. co  m
 * 
 * @param inParent
 *            {@link Composite}
 * @param inTree
 *            {@link TreeObject}
 */
public TreeWidgetsView(final Composite inParent, final TreeObject inTree) {
    super(inParent);
    createTitle(MESSAGES.getMessage("widgets.title.page.tree"));

    LabelHelper.createLabel(this, MESSAGES.getMessage("widgets.view.tree.title"), "ripla-font");

    final TreeViewer lViewer = new TreeViewer(this, SWT.V_SCROLL | SWT.H_SCROLL);
    final Tree lTree = lViewer.getTree();
    lTree.setLayout(GridLayoutHelper.createGridLayout());
    lTree.setData(RWT.CUSTOM_VARIANT, "ripla-font");
    final GridData lLayoutData = GridLayoutHelper.createFillLayoutData();
    lLayoutData.heightHint = 430;
    lTree.setLayoutData(lLayoutData);

    lViewer.setContentProvider(new CountryTreeContentProvider());
    lViewer.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(final ViewerCell inCell) {
            final TreeObject lCountry = (TreeObject) inCell.getElement();
            inCell.setText(lCountry.getLabel());
        }
    });
    lViewer.expandAll();
    lViewer.setInput(inTree);
    lViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(final SelectionChangedEvent inEvent) {
            final TreeObject lTreeObject = (TreeObject) ((IStructuredSelection) inEvent.getSelection())
                    .getFirstElement();
            if (lTreeObject.hasChildren()) {
                if (lViewer.getExpandedState(lTreeObject)) {
                    lViewer.collapseToLevel(lTreeObject, AbstractTreeViewer.ALL_LEVELS);
                } else {
                    lViewer.expandToLevel(lTreeObject, 1);
                }
            } else {
                popup(lTreeObject.getCountry());
            }
        }
    });

    lTree.forceFocus();
    lTree.select(lTree.getItem(0));
}

From source file:org.seasar.dbflute.emecha.eclipse.plugin.dfeditor.DFPropOutlinePage.java

License:Apache License

public void update(DFPropModel dfmodel) {
    input.dfmodel = dfmodel;/*from  w ww  .j  av a2 s .  c om*/
    TreeViewer viewer = getTreeViewer();
    viewer.refresh();
    viewer.expandToLevel(viewer.getInput(), 2);
}

From source file:org.talend.core.repository.seeker.AbstractRepoViewSeeker.java

License:Open Source License

@Override
public void expandNode(TreeViewer viewer, IRepositoryNode repoNode, int expandLevel) {
    if (repoNode != null && validType(repoNode.getObjectType())) {
        IProjectRepositoryNode root = repoNode.getRoot();
        if (root != null) {
            /*/*from   w  ww  . j  a  v  a 2  s  . com*/
             * expand some node before expand other nodes.
             * 
             * Because the parent of some root type node is not the real parent. like all metadatas
             */
            List<ERepositoryObjectType> preExpandTypes = getPreExpandTypes();
            if (preExpandTypes != null) {
                for (ERepositoryObjectType preExpandType : preExpandTypes) {
                    IRepositoryNode preExpandNode = root.getRootRepositoryNode(preExpandType);
                    if (preExpandNode != null) {
                        viewer.expandToLevel(preExpandNode, expandLevel);
                    }
                }
            }
        }
    }
    RepositorySeekerManager seekerManager = RepositorySeekerManager.getInstance();
    seekerManager.expandNode(seekerManager.getRepoTreeViewer(), repoNode, 1);
}