List of usage examples for org.eclipse.jface.viewers TreeViewer getVisibleExpandedElements
public Object[] getVisibleExpandedElements()
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); } } }