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

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

Introduction

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

Prototype

public boolean getExpandedState(Object elementOrTreePath) 

Source Link

Document

Returns whether the node corresponding to the given element or tree path is expanded or collapsed.

Usage

From source file:org.eclipse.wst.jsdt.internal.ui.packageview.PackageExplorerActionGroup.java

License:Open Source License

void handleDoubleClick(DoubleClickEvent event) {
    TreeViewer viewer = fPart.getTreeViewer();
    IStructuredSelection selection = (IStructuredSelection) event.getSelection();
    Object element = selection.getFirstElement();
    if (viewer.isExpandable(element)) {
        if (doubleClickGoesInto()) {
            // don't zoom into compilation units and class files
            if (element instanceof IJavaScriptUnit || element instanceof IClassFile)
                return;
            if (element instanceof IOpenable || element instanceof IContainer
                    || element instanceof IWorkingSet) {
                fZoomInAction.run();//w w w .  j  a  v a  2s.  c o m
            }
        } else {
            IAction openAction = fNavigateActionGroup.getOpenAction();
            if (openAction != null && openAction.isEnabled()
                    && OpenStrategy.getOpenMethod() == OpenStrategy.DOUBLE_CLICK)
                return;
            if (selection instanceof ITreeSelection) {
                TreePath[] paths = ((ITreeSelection) selection).getPathsFor(element);
                for (int i = 0; i < paths.length; i++) {
                    viewer.setExpandedState(paths[i], !viewer.getExpandedState(paths[i]));
                }
            } else {
                viewer.setExpandedState(element, !viewer.getExpandedState(element));
            }
        }
    } else if (element instanceof IProject && !((IProject) element).isOpen()) {
        OpenProjectAction openProjectAction = fProjectActionGroup.getOpenProjectAction();
        if (openProjectAction.isEnabled()) {
            openProjectAction.run();
        }
    }
}

From source file:org.entirej.ide.ui.nodes.AbstractNodeTreeSection.java

License:Apache License

protected void buildBody(Section section, FormToolkit toolkit) {
    section.setLayout(EditorLayoutFactory.createClearTableWrapLayout(false, 1));
    GridData sectionData = new GridData(GridData.FILL_BOTH | GridData.GRAB_VERTICAL);
    section.setLayoutData(sectionData);//from   w  w  w . j  a  v a2  s  . com

    section.setText(getSectionTitle());
    section.setDescription(getSectionDescription());

    Composite body = toolkit.createComposite(section);
    body.setLayout(new GridLayout());
    body.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    filteredTree = new FilteredTree(body, SWT.VIRTUAL | SWT.V_SCROLL | SWT.BORDER | SWT.MULTI,
            new PatternFilter(), true) {

        ISelection selection;
        Object[] expanded;

        protected WorkbenchJob doCreateRefreshJob() {
            WorkbenchJob refreshJob2 = super.doCreateRefreshJob();
            refreshJob2.addJobChangeListener(new JobChangeAdapter() {
                public void done(IJobChangeEvent event) {
                    if (!event.getResult().isOK())
                        return;

                    String text = getFilterString();
                    if (text != null && text.length() > 0)
                        return;

                    TreeViewer treeview = getViewer();
                    if (expanded != null) {
                        treeview.getControl().setRedraw(false);
                        treeview.setExpandedElements(expanded);
                        treeview.getControl().setRedraw(true);

                        expanded = null;
                    }
                    if (selection != null) {
                        getViewer().setSelection(selection, true);
                        getManagedForm().fireSelectionChanged(AbstractNodeTreeSection.this, selection);
                        selection = null;
                    }
                };
            });
            return refreshJob2;

        };

        protected void textChanged() {
            if (selection == null)
                selection = getViewer().getSelection();

            if (expanded == null)
                expanded = getViewer().getExpandedElements();

            super.textChanged();

        }
    };

    GridData treeGD = new GridData(GridData.FILL_BOTH | GridData.GRAB_VERTICAL);
    treeGD.widthHint = 200;
    treeGD.heightHint = 100;
    filteredTree.setLayoutData(treeGD);
    final TreeViewer viewer = filteredTree.getViewer();
    viewer.setLabelProvider(new NodeStyledCellLabelProvider(getLabelProvider()));
    viewer.setContentProvider(getContentProvider());
    new ViewerToolTipSupport(viewer);
    viewer.setAutoExpandLevel(expand_level);
    editor.getSite().setSelectionProvider(viewer);
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            showNodeDetails();

            editor.getContributor().refreah();
        }

    });

    // add default double click support to tree
    viewer.addDoubleClickListener(new IDoubleClickListener() {

        public void doubleClick(DoubleClickEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            boolean expandedState = viewer.getExpandedState(selection.getFirstElement());
            viewer.setExpandedState(selection.getFirstElement(), !expandedState);

        }
    });

    viewer.getTree().addMouseListener(new MouseAdapter() {
        @Override
        public void mouseDown(MouseEvent e) {
            if (e.button == 3) {
                Point point = new Point(e.x, e.y);
                TreeItem item = viewer.getTree().getItem(point);
                if (item == null) {
                    viewer.setSelection(null);
                }
            }
        }
    });

    connectContextMenu();
    connectAddContextMenu();
    toolkit.paintBordersFor(body);
    section.setTabList(new Control[] { body });
    section.setClient(body);

}

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//from  www  .ja  v a  2 s  .  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.mailster.gui.prefs.ConfigurationDialog.java

License:Open Source License

/**
 * Add the listeners to the tree viewer.
 * //from w  w  w .ja v a 2  s .  c om
 * @param viewer
 * @since 3.1
 */
protected void addListeners(final TreeViewer viewer) {
    viewer.addPostSelectionChangedListener(new ISelectionChangedListener() {
        private void handleError() {
            try {
                // remove the listener temporarily so that the events caused
                // by the error handling dont further cause error handling
                // to occur.
                viewer.removePostSelectionChangedListener(this);
                showPageFlippingAbortError();
                selectLastVisitedPageAgain();
                clearLastSelectedNode();
            } finally {

                viewer.addPostSelectionChangedListener(this);
            }
        }

        public void selectionChanged(SelectionChangedEvent event) {
            Object selection = getSingleSelection(event.getSelection());
            if (selection instanceof IPreferenceNode) {
                if (!isCurrentPageValid()) {
                    handleError();
                } else if (!showPage((IPreferenceNode) selection)) {
                    // Page flipping wasn't successful
                    handleError();
                } else {
                    // Everything went well
                    lastSuccessfulNode = (IPreferenceNode) selection;
                }
            }
        }
    });
    ((Tree) viewer.getControl()).addSelectionListener(new SelectionAdapter() {
        public void widgetDefaultSelected(final SelectionEvent event) {
            ISelection selection = viewer.getSelection();
            if (selection.isEmpty())
                return;
            IPreferenceNode singleSelection = getSingleSelection(selection);
            boolean expanded = viewer.getExpandedState(singleSelection);
            viewer.setExpandedState(singleSelection, !expanded);
        }
    });
    // Register help listener on the tree to use context sensitive help
    viewer.getControl().addHelpListener(new HelpListener() {
        public void helpRequested(HelpEvent event) {
            // call perform help on the current page
            if (getCurrentPage() != null) {
                getCurrentPage().performHelp();
            }
        }
    });
}

From source file:org.modelversioning.emfprofile.application.registry.ui.views.EMFProfileApplicationsView.java

License:Open Source License

/**
 * This is a callback that will allow us to create the viewer and initialize
 * it./*from w ww . j  a va 2 s .  c o  m*/
 */
public void createPartControl(Composite parent) {
    viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    drillDownAdapter = new DrillDownAdapter(viewer);
    viewer.setLabelProvider(new ProfileProviderLabelAdapter(getAdapterFactory()));
    viewer.setContentProvider(new ProfileProviderContentAdapter(getAdapterFactory()));

    viewer.setSorter(createGenericEObjectSorter());
    viewer.setAutoExpandLevel(2);
    getSite().setSelectionProvider(viewer);
    EMFProfileApplicationsView.resourceManager = new LocalResourceManager(JFaceResources.getResources());
    viewer.setInput(Collections.emptyList());
    ActiveEditorObserver.INSTANCE.setViewer(viewer);

    new AdapterFactoryTreeEditor(viewer.getTree(), adapterFactory);

    MenuManager menuManager = new MenuManager("profileApplicationsPopupMenu");
    menuManager.setRemoveAllWhenShown(true);
    menuManager.addMenuListener(new IMenuListener() {
        public void menuAboutToShow(IMenuManager manager) {
            EMFProfileApplicationsView.this.fillContextMenu(manager);
        }
    });
    Menu menu = menuManager.createContextMenu(viewer.getControl());
    viewer.getControl().setMenu(menu);

    getSite().registerContextMenu(menuManager, viewer);
    // To this group come New Child/Sibling contributions
    menuManager.add(new Separator("edit"));
    // Other plug-ins can contribute there actions here
    menuManager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
    drillDownAdapter.addNavigationActions(menuManager);
    drillDownAdapter.addNavigationActions(getViewSite().getActionBars().getToolBarManager());
    getViewSite().getActionBars().getToolBarManager().add(new Separator());
    viewer.addDoubleClickListener(new IDoubleClickListener() {

        @Override
        public void doubleClick(DoubleClickEvent event) {
            TreeViewer viewer = (TreeViewer) event.getViewer();
            IStructuredSelection thisSelection = (IStructuredSelection) event.getSelection();
            Object selectedNode = thisSelection.getFirstElement();
            viewer.setExpandedState(selectedNode, !viewer.getExpandedState(selectedNode));
        }
    });

    nestingCommonModelElements = new NestingCommonModelElementsInStereotypeApplications();
    nestingCommonModelElements.contributeToMenu(menuManager);
    menuManager.addMenuListener(nestingCommonModelElements);
    viewer.addSelectionChangedListener(nestingCommonModelElements);

    // To enable the key binding we need to activate context
    // The reason why, is because this context overrides the
    // default key binding of workbench, e.g. key DEL
    IContextService contextService = (IContextService) getSite().getService(IContextService.class);
    IContextActivation contextActivation = contextService
            .activateContext("org.modelversioning.emfprofile.application.registry.ui.keybindingcontext");

}

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 {/*w  w  w.j  a  v a2 s  .c o m*/
        viewer.expandToLevel(getNode(), 1);
        viewer.refresh(getNode());
    }
}

From source file:org.python.pydev.navigator.actions.PyOpenPythonFileAction.java

License:Open Source License

public synchronized void run() {
    // clear them
    fillSelections();//from w ww .  j  a  va2s  .  c  o m

    if (filesSelected.size() > 0) {
        openFiles(filesSelected);

    } else if (nodesSelected.size() > 0) {
        PythonNode node = nodesSelected.iterator().next();
        ParsedItem actualObject = node.getActualObject();
        ASTEntryWithChildren astThis = actualObject.getAstThis();
        if (astThis != null) {
            new PyOpenAction().run(new ItemPointer(node.getPythonFile().getActualObject(),
                    NodeUtils.getNameTokFromNode(astThis.node)));
        }

    } else if (pythonPathZipFilesSelected.size() > 0) {
        openFiles(pythonPathZipFilesSelected
                .toArray(new PythonpathZipChildTreeNode[pythonPathZipFilesSelected.size()]));

    } else if (pythonPathFilesSelected.size() > 0) {
        openFiles(pythonPathFilesSelected.toArray(new PythonpathTreeNode[pythonPathFilesSelected.size()]));

    } else if (containersSelected.size() > 0) {
        if (this.provider instanceof TreeViewer) {
            TreeViewer viewer = (TreeViewer) this.provider;
            for (Object container : containersSelected) {
                if (viewer.isExpandable(container)) {
                    viewer.setExpandedState(container, !viewer.getExpandedState(container));
                }
            }
        } else {
            Log.log("Expecting the provider to be a TreeViewer -- it is:" + this.provider.getClass());
        }
    }
}

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

License:Open Source License

/**
 * TreeWidgetsView constructor.//ww w . jav  a 2s.  c  om
 * 
 * @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.rubypeople.rdt.internal.ui.packageview.RubyExplorerActionGroup.java

License:Open Source License

void handleDoubleClick(DoubleClickEvent event) {
    TreeViewer viewer = fPart.getViewer();
    IStructuredSelection selection = (IStructuredSelection) event.getSelection();
    Object element = selection.getFirstElement();
    if (viewer.isExpandable(element)) {
        if (doubleClickGoesInto()) {
            // don't zoom into ruby scripts
            if (element instanceof IRubyScript)
                return;
            if (element instanceof IOpenable || element instanceof IContainer
                    || element instanceof IWorkingSet) {
                fZoomInAction.run();/*w w  w.  java  2 s  . c o m*/
            }
        } else {
            IAction openAction = fNavigateActionGroup.getOpenAction();
            if (openAction != null && openAction.isEnabled()
                    && OpenStrategy.getOpenMethod() == OpenStrategy.DOUBLE_CLICK)
                return;
            if (selection instanceof ITreeSelection) {
                TreePath[] paths = ((ITreeSelection) selection).getPathsFor(element);
                for (int i = 0; i < paths.length; i++) {
                    viewer.setExpandedState(paths[i], !viewer.getExpandedState(paths[i]));
                }
            } else {
                viewer.setExpandedState(element, !viewer.getExpandedState(element));
            }
        }
    }
}

From source file:org.splevo.ui.refinementbrowser.listener.ExpandTreeListener.java

License:Open Source License

@Override
public void doubleClick(DoubleClickEvent event) {
    TreeViewer viewer = (TreeViewer) event.getViewer();
    IStructuredSelection thisSelection = (IStructuredSelection) event.getSelection();
    Object selectedNode = thisSelection.getFirstElement();
    viewer.setExpandedState(selectedNode, !viewer.getExpandedState(selectedNode));
}