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

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

Introduction

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

Prototype

public Object[] getVisibleExpandedElements() 

Source Link

Document

Gets the expanded elements that are visible to the user.

Usage

From source file:com.aptana.explorer.internal.ui.FilteringProjectView.java

License:Open Source License

/**
 * Update the in-memory memento for a given project. This update method should be called before saving the memento
 * and before every project switch.//from   w  w w  .  j  a  v a  2 s  . c  om
 * 
 * @param project
 */
protected void updateProjectMementoCache(IProject project) {
    TreeViewer viewer = getCommonViewer();
    if (viewer == null || project == null) {
        return;
    }
    List<String> expanded = new ArrayList<String>();
    List<String> selected = new ArrayList<String>();

    // Save the expansion state
    Object expandedElements[] = viewer.getVisibleExpandedElements();
    if (expandedElements.length > 0) {
        for (int i = 0; i < expandedElements.length; i++) {
            if (expandedElements[i] instanceof IResource) {
                expanded.add(((IResource) expandedElements[i]).getFullPath().toString());
            }
        }
    }
    // Save the selection state
    Object selectedElements[] = ((IStructuredSelection) viewer.getSelection()).toArray();
    if (selectedElements.length > 0) {
        for (int i = 0; i < selectedElements.length; i++) {
            if (selectedElements[i] instanceof IResource) {
                selected.add(((IResource) selectedElements[i]).getFullPath().toString());
            }
        }
    }
    projectExpansions.put(project, expanded);
    projectSelections.put(project, selected);

    // FIXME Need to store filters in a way that we can store the filename search filter too!
    IResource filter = getFilterResource();
    if (filter != null) {
        projectFilters.put(project, filter.getLocation().toPortableString());
    } else {
        projectFilters.remove(project);
    }
}

From source file:org.eclipse.e4.demio.views.nav.ResourceNavigator.java

License:Open Source License

/**
 * @see ViewPart#saveState//  w  w w.  jav  a2s. c  o  m
 */
public void saveState(IMemento memento) {
    TreeViewer viewer = getTreeViewer();
    if (viewer == null) {
        if (this.memento != null) {
            memento.putMemento(this.memento);
        }
        return;
    }

    //save sorter
    if (getComparator() != null) {
        memento.putInteger(TAG_SORTER, getComparator().getCriteria());
    } else if (getSorter() != null) {
        memento.putInteger(TAG_SORTER, getSorter().getCriteria());
    }

    //save filters
    String filters[] = getPatternFilter().getPatterns();
    List selectedFilters = Arrays.asList(filters);
    List allFilters = FiltersContentProvider.getDefinedFilters();
    IMemento filtersMem = memento.createChild(TAG_FILTERS);
    for (Iterator iter = allFilters.iterator(); iter.hasNext();) {
        String element = (String) iter.next();
        IMemento child = filtersMem.createChild(TAG_FILTER);
        child.putString(TAG_ELEMENT, element);
        child.putString(TAG_IS_ENABLED, String.valueOf(selectedFilters.contains(element)));
    }

    if (frameList.getCurrentIndex() > 0) {
        //save frame, it's not the "home"/workspace frame
        TreeFrame currentFrame = (TreeFrame) frameList.getCurrentFrame();
        IMemento frameMemento = memento.createChild(TAG_CURRENT_FRAME);
        currentFrame.saveState(frameMemento);
    } else {
        //save visible expanded elements
        Object expandedElements[] = viewer.getVisibleExpandedElements();
        if (expandedElements.length > 0) {
            IMemento expandedMem = memento.createChild(TAG_EXPANDED);
            for (int i = 0; i < expandedElements.length; i++) {
                if (expandedElements[i] instanceof IResource) {
                    IMemento elementMem = expandedMem.createChild(TAG_ELEMENT);
                    elementMem.putString(TAG_PATH, ((IResource) expandedElements[i]).getFullPath().toString());
                }
            }
        }
        //save selection
        Object elements[] = ((IStructuredSelection) viewer.getSelection()).toArray();
        if (elements.length > 0) {
            IMemento selectionMem = memento.createChild(TAG_SELECTION);
            for (int i = 0; i < elements.length; i++) {
                if (elements[i] instanceof IResource) {
                    IMemento elementMem = selectionMem.createChild(TAG_ELEMENT);
                    elementMem.putString(TAG_PATH, ((IResource) elements[i]).getFullPath().toString());
                }
            }
        }
    }

    saveLinkingEnabled(memento);
}

From source file:org.kalypso.ui.repository.view.RepositoryExplorerPart.java

License:Open Source License

@Override
public void saveState(final IMemento memento) {
    if (m_chooser == null)
        return;/*from  w  ww  . j av a  2 s .  c  o m*/

    final TreeViewer viewer = m_chooser.getViewer();
    if (viewer == null) {
        if (m_memento != null) // Keep the old state;
            memento.putMemento(m_memento);

        return;
    }

    // save list of repositories
    final IMemento repsMem = memento.createChild(RepositoryExplorerPart.TAG_REPOSITORIES);
    final IRepository[] repositories = m_chooser.getRepositoryContainer().getRepositories();
    for (final IRepository repository : repositories) {
        final IMemento child = repsMem.createChild(RepositoryExplorerPart.TAG_REPOSITORY);
        child.putTextData(new RepositoryFactoryConfig(repository).saveState());

        // save properties for that repository
        final IMemento propsMem = child.createChild(RepositoryExplorerPart.TAG_REPOSITORY_PROPS);
        try {
            MementoUtils.saveProperties(propsMem, repository.getProperties());
        } catch (final IOException e) {
            e.printStackTrace();
        }
    }

    // save visible expanded elements
    final Object expandedElements[] = viewer.getVisibleExpandedElements();
    if (expandedElements.length > 0) {
        final IMemento expandedMem = memento.createChild(RepositoryExplorerPart.TAG_EXPANDED);
        for (final Object element : expandedElements)
            if (element instanceof IRepositoryItem) {
                final IMemento elementMem = expandedMem.createChild(RepositoryExplorerPart.TAG_ELEMENT);
                final String id = ((IRepositoryItem) element).getIdentifier();
                elementMem.putString(RepositoryExplorerPart.TAG_IDENFITIER, id);
            }
    }
}