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

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

Introduction

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

Prototype

public Object[] getExpandedElements() 

Source Link

Document

Returns a list of elements corresponding to expanded nodes in this viewer's tree, including currently hidden ones that are marked as expanded but are under a collapsed ancestor.

Usage

From source file:org.eclipse.osee.framework.ui.swt.TreeViewerUtility.java

License:Open Source License

@SuppressWarnings("unchecked")
private static <A extends Object> void populateExpansionHash(TreeViewer tree, Map<A, Object> selectionHash) {

    for (Object obj : tree.getExpandedElements()) {
        selectionHash.put((A) obj, dummy);
    }/*from   w  ww  . j a v  a 2  s .  co m*/
}

From source file:org.eclipse.sirius.tree.ui.tools.internal.editor.DTreeEditor.java

License:Open Source License

/**
 * Sets the cursor and selection state for an editor to reveal the position
 * of the given marker.//  w w w .  j  a v a2s .  c  o m
 * 
 * @param marker
 *            the marker to go to
 */
// TODO for now on, this implementation only allow to handle Traceability
// markers
protected void doGoToMarker(IMarker marker) {
    final String treeURI = marker.getAttribute(TraceabilityMarkerNavigationProvider.REPRESENTATION_URI, null);
    final String elementId = marker.getAttribute(TraceabilityMarkerNavigationProvider.REPRESENTATION_ELEMENT_ID,
            null);

    if (treeURI == null || elementId == null) {
        return;
    }

    final URI markerTreeURI = URI.createURI(treeURI);
    final DTree markerTree = (DTree) this.getTreeModel().eResource().getEObject(markerTreeURI.fragment());

    if (markerTree != null) {
        EObject searchedElement = markerTree.eResource().getEObject(elementId);
        TreeViewer viewer = this.treeViewerManager.getTreeViewer();

        // FIXME : contrary to tables, getItems() of the Tree returns only
        // expanded elements. So we expand it manually
        Object[] expandedElements = viewer.getExpandedElements();
        ((TreeViewer) this.getViewer()).expandAll();
        TreeItem contains = contains(viewer.getTree().getItems(), searchedElement);
        ((TreeViewer) this.getViewer()).setExpandedElements(expandedElements);

        if (contains != null) {
            ISelection selection = new TreeSelection(getTreePathFromItem(contains));
            ((TreeViewer) this.getViewer()).setSelection(selection, true);
        }

    }
}

From source file:org.eclipse.ui.internal.dialogs.ImportExportPage.java

License:Open Source License

/**
 * Stores the collection of currently-expanded categories in this page's
 * dialog store, in order to recreate this page's state in the next
 * instance of this page./*from   w  ww . j  a  v  a 2 s . c o m*/
 */
protected void storeExpandedCategories(String setting, TreeViewer viewer) {
    Object[] expandedElements = viewer.getExpandedElements();
    List expandedElementPaths = new ArrayList(expandedElements.length);
    for (int i = 0; i < expandedElements.length; ++i) {
        if (expandedElements[i] instanceof IWizardCategory) {
            expandedElementPaths.add(((IWizardCategory) expandedElements[i]).getPath().toString());
        }
    }
    getDialogSettings().put(setting,
            (String[]) expandedElementPaths.toArray(new String[expandedElementPaths.size()]));
}

From source file:org.eclipse.wb.internal.core.databinding.ui.EditSelection.java

License:Open Source License

/**
 * Store page index, selection and expanded for given page.
 *///from  ww  w.j a va2 s.c  om
private static void setToPage(IDatabindingsProvider databindingsProvider,
        ObserveElementsComposite observeElementsComposite, PageSelection page) {
    // store page index
    page.pageIndex = databindingsProvider.getTypes().indexOf(observeElementsComposite.getCurrentType());
    // prepare master objects
    TreeViewer masterViewer = observeElementsComposite.getMasterViewer();
    ITreeContentProvider masterProvider = (ITreeContentProvider) masterViewer.getContentProvider();
    Object[] masterInput = masterProvider.getElements(masterViewer.getInput());
    // store master selection
    page.masterSelection = objectToPath(masterProvider, masterInput,
            observeElementsComposite.getMasterObserve());
    // store master expanded
    page.masterExpanded = objectsToPaths(masterProvider, masterInput, masterViewer.getExpandedElements());
    // prepare properties objects
    TreeViewer propertiesViewer = observeElementsComposite.getPropertiesViewer();
    ITreeContentProvider propertiesProvider = (ITreeContentProvider) propertiesViewer.getContentProvider();
    Object[] propertiesInput = propertiesProvider.getElements(propertiesViewer.getInput());
    // store properties selection
    page.propertiesSelection = objectToPath(propertiesProvider, propertiesInput,
            observeElementsComposite.getPropertyObserve());
    // store properties expanded
    page.propertiesExpanded = objectsToPaths(propertiesProvider, propertiesInput,
            propertiesViewer.getExpandedElements());
}

From source file:org.eclipse.wb.internal.swing.laf.ui.JarSelectionDialog.java

License:Open Source License

@Override
protected void updateOKStatus() {
    TreeViewer viewer = getTreeViewer();
    m_expanded = viewer.getExpandedElements();
    IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
    m_selection = selection.getFirstElement();
    super.updateOKStatus();
}

From source file:org.eclipse.wst.sse.sieditor.test.ui.v2.wsdl.controller.TestImportedSchemaNodes.java

License:Open Source License

@Test
public void testImportedTypesNodeDoesNotCollapseOnTreeRefresh() throws ExecutionException {
    DataTypesFormPageControllerExpose controller = new DataTypesFormPageControllerExpose(xsdModelRoot);
    DataTypesContentProvider contentProvider = new DataTypesContentProvider(controller);

    final boolean refresh_Called[] = { false };

    final Display display = Display.getDefault();
    final Shell shell = new Shell(display);
    final TreeViewer treeViewerMock = new TreeViewer(new Composite(shell, SWT.None)) {
        @Override/*from   w  w w.ja  va  2  s. co  m*/
        public void refresh() {
            super.refresh();
            refresh_Called[0] = true;

        }
    };
    treeViewerMock.setContentProvider(contentProvider);
    treeViewerMock.setInput(xsdModelRoot);

    treeViewerMock.expandAll();

    ArrayList<Object> expandedElementsBefore = new ArrayList<Object>(
            Arrays.asList(treeViewerMock.getExpandedElements()));

    AddSimpleTypeCommand addSimpleTypeCommand = new AddSimpleTypeCommand(xsdModelRoot, xsdModelRoot.getSchema(),
            "mySimpleType");
    IStatus executeStatus = xsdModelRoot.getEnv().execute(addSimpleTypeCommand);

    assertEquals("Add Simpletype command execution failed.", IStatus.OK, executeStatus.getSeverity());

    AbstractMasterDetailsBlock masterDetailsBlock = new AbstractMasterDetailsBlock() {
        {
            this.treeViewer = treeViewerMock;
        }

        @Override
        protected void createButtons(FormToolkit toolkit, Composite buttonsComposite) {
        }

        @Override
        protected IDetailsPageProvider createDetailsPageProvider() {
            return null;
        }

        @Override
        protected Button getRemoveButton() {
            return null;
        }

        @Override
        protected void removePressed() {
        }

        @Override
        public void componentChanged(IModelChangeEvent event) {
        }

        @Override
        protected void updateButtonsState(IStructuredSelection structSelection) {
            // TODO Auto-generated method stub

        }
    };
    masterDetailsBlock.refreshTreeViewer();
    ArrayList<Object> expandedElementsAfter = new ArrayList<Object>(
            Arrays.asList(treeViewerMock.getExpandedElements()));
    //here we remove the new added item, because we want to check the expanded state only of the old elements, not the new one 
    expandedElementsAfter.remove(0);
    assertTrue("Expected tree viewer refresh call.", refresh_Called[0]);
    assertArrayEquals("It is expected that tree viewer remembers its state after refresh",
            expandedElementsBefore.toArray(), expandedElementsAfter.toArray());
}

From source file:org.eclipse.wst.sse.sieditor.ui.listeners.impl.TreeRefresherPageChangedListener.java

License:Open Source License

@Override
public void pageChanged(final int newPageIndex, final int oldPageIndex, final List pages,
        final IModelRoot modelRoot) {
    if (oldPageIndex == -1) {
        return;/*from ww w  .  j  av a 2 s  .  c  om*/
    }
    final Object newPage = pages.get(newPageIndex);

    if (!(newPage instanceof AbstractEditorPage)) {
        return;
    }
    final TreeViewer treeViewer = ((AbstractEditorPage) newPage).getTreeViewer();
    final Object[] expandedElements = treeViewer.getExpandedElements();
    treeViewer.refresh(true);
    treeViewer.setExpandedElements(expandedElements);
}

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

License:Open Source License

protected Set<IOutlineNode> getExpandedNodes(final TreeViewer treeViewer) {
    final Set<IOutlineNode> expandedNodes = Sets.newHashSet();
    DisplayRunHelper.runSyncInDisplayThread(new Runnable() {
        @Override/*from  w  w w .  j  a  v  a 2s.  co  m*/
        public void run() {
            if (!treeViewer.getTree().isDisposed()) {
                Object[] expandedElements = treeViewer.getExpandedElements();
                for (Object expandedElement : expandedElements) {
                    if (!(expandedElement instanceof IOutlineNode))
                        LOG.error("Content outline contains illegal node " + expandedElement);
                    else
                        expandedNodes.add((IOutlineNode) expandedElement);
                }
            }
        }
    });
    return expandedNodes;
}

From source file:org.eclipse.xtext.ui.tests.editor.outline.AbstractOutlineWorkbenchTest.java

License:Open Source License

protected void assertExpanded(TreeViewer treeViewer, IOutlineNode... expectedExpansion) {
    Object[] expandedElements = treeViewer.getExpandedElements();
    assertEquals(expectedExpansion.length, expandedElements.length);
    OUTER: for (Object expandedObject : expandedElements) {
        assertTrue(expandedObject instanceof IOutlineNode);
        for (IOutlineNode expectedExpanded : expectedExpansion) {
            if (nodeComparer.equals((IOutlineNode) expandedObject, expectedExpanded))
                continue OUTER;
        }//from w  w  w. ja  va2  s  . c  o  m
        fail("Unexpected expansion" + expandedObject.toString());
    }
}

From source file:org.entirej.applicationframework.rwt.renderers.blocks.EJRWTTreeRecordBlockRenderer.java

License:Apache License

public void refresh(Object input) {
    TreeViewer treeview = _tableViewer;
    if (treeview != null) {
        Object[] expanded = treeview.getExpandedElements();

        treeview.getControl().setRedraw(false);
        treeview.setInput(input);/*  www. jav  a2  s.  co  m*/
        treeview.setExpandedElements(expanded);
        treeview.getControl().setRedraw(true);
        treeview.refresh();
    }
}