List of usage examples for org.eclipse.jface.viewers TreeViewer setExpandedElements
public void setExpandedElements(Object... elements)
From source file:org.entirej.ext.oracle.db.DBTypeSelectionPage.java
License:Apache License
public void refresh(Object input) { TreeViewer treeview = dbfilteredTree != null ? dbfilteredTree.getViewer() : null; if (treeview != null) { Object[] expanded = treeview.getExpandedElements(); treeview.getControl().setRedraw(false); treeview.setInput(input);// www .j ava2 s.co m treeview.setExpandedElements(expanded); treeview.getControl().setRedraw(true); treeview.refresh(); } }
From source file:org.entirej.ide.ui.nodes.AbstractNodeTreeSection.java
License:Apache License
@Override public void refresh() { TreeViewer treeview = filteredTree.getViewer(); Object[] expanded = treeview.getExpandedElements(); treeview.getControl().setRedraw(false); treeview.setInput(getTreeInput());/*from w ww . j a va2s.c o m*/ treeview.setExpandedElements(expanded); treeview.getControl().setRedraw(true); treeview.refresh(); getManagedForm().fireSelectionChanged(AbstractNodeTreeSection.this, treeview.getSelection()); showNodeDetails(); super.refresh(); }
From source file:org.entirej.ide.ui.nodes.AbstractNodeTreeSection.java
License:Apache License
public AbstractNode<?> findNode(Object source, boolean force) { AbstractNode<?> node = findNode(source); if (node != null || !force) { return node; }//from w w w. jav a2 s. c om if (source == null) return null; TreeViewer treeview = filteredTree.getViewer(); Object[] expanded = treeview.getExpandedElements(); treeview.getControl().setRedraw(false); try { filteredTree.getViewer().expandAll(); TreeItem[] items = filteredTree.getViewer().getTree().getItems(); for (TreeItem treeItem : items) { AbstractNode<?> findNode = findNode(source, treeItem); if (findNode != null) return findNode; } } finally { treeview.collapseAll(); treeview.setExpandedElements(expanded); treeview.getControl().setRedraw(true); treeview.refresh(); } return null; }
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 av a 2 s.c o m 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.kalypso.model.wspm.pdb.ui.internal.wspm.PdbWspmProject.java
License:Open Source License
public void updateViews(final Object[] toSelect) { /* Bring gmv view to top and select changed features */ final WspmGmvViewPart gmvView = findView(WspmGmvViewPart.ID); if (gmvView != null) { try {/*from w w w . j ava 2 s . co m*/ final IWorkbenchPage page = m_window.getActivePage(); page.showView(WspmGmvViewPart.ID, null, IWorkbenchPage.VIEW_ACTIVATE); if (toSelect != null) { final TreeViewer treeViewer = gmvView.getTreeView().getTreeViewer(); treeViewer.setSelection(new StructuredSelection(toSelect)); treeViewer.setExpandedElements(toSelect); } } catch (final PartInitException e) { e.printStackTrace(); } } /* Jump to freshly downloaded items */ final WspmMapViewPart mapView = findView(WspmMapViewPart.ID); if (mapView == null) return; final GisTemplateMapModell mapModell = mapView.getMapModell(); final FindReachThemesVisitor findReachesVisitor = new FindReachThemesVisitor(); mapModell.accept(findReachesVisitor, IKalypsoThemeVisitor.DEPTH_INFINITE); final IKalypsoFeatureTheme[] themes = findReachesVisitor.getThemes(toSelect); final GM_Envelope fullExtent = MapModellHelper.calculateExtent(themes, new ThemeUsedForMaxExtentPredicate()); final ChangeExtentCommand command = new ChangeExtentCommand(mapView.getMapPanel(), fullExtent); mapView.postCommand(command, null); }
From source file:org.kalypso.ui.editor.gmleditor.part.GMLContentProvider.java
License:Open Source License
protected void handleModelChanged(final ModellEvent modellEvent) { if (!m_handleModelEvents) return;/*from www.j a v a2s .c o m*/ final TreeViewer treeViewer = m_viewer; if (treeViewer == null) return; final Control control = treeViewer.getControl(); if (modellEvent instanceof FeatureStructureChangeModellEvent) { if (m_featureStructureChangedJob != null) m_featureStructureChangedJob.cancel(); m_featureStructureChangedJob = new UIJob(Messages.getString("GMLContentProvider_0")) //$NON-NLS-1$ { @Override public IStatus runInUIThread(final IProgressMonitor monitor) { if (monitor.isCanceled()) return Status.CANCEL_STATUS; if (Objects.isNull(control) || control.isDisposed()) return Status.CANCEL_STATUS; final Object[] expandedElements = treeViewer.getExpandedElements(); treeViewer.refresh(); treeViewer.setExpandedElements(expandedElements); return Status.OK_STATUS; } }; m_featureStructureChangedJob.setSystem(true); m_featureStructureChangedJob.setUser(false); m_featureStructureChangedJob.schedule(50); } else if (modellEvent instanceof FeaturesChangedModellEvent) { final FeaturesChangedModellEvent fcme = (FeaturesChangedModellEvent) modellEvent; // TODO: ugly abstraction, mover into separate class! synchronized (m_featureChangeStack) { Collections.addAll(m_featureChangeStack, fcme.getFeatures()); if (m_featureChangeJob != null) { m_featureChangeJob.cancel(); m_featureChangeJob = null; } // FIXME; why recreate the job at all? final UIJob featureChangeJob = new UIJob(Messages.getString("GMLContentProvider_1")) //$NON-NLS-1$ { @Override public IStatus runInUIThread(final IProgressMonitor monitor) { if (monitor.isCanceled()) return Status.CANCEL_STATUS; if (Objects.isNull(control) || control.isDisposed()) return Status.CANCEL_STATUS; final Feature[] features = popChangedFeatures(); for (final Feature feature : features) { // FIXME: handle special case: also refresh elements of tree that reference this feature... treeViewer.refresh(feature, true); } return Status.OK_STATUS; } }; featureChangeJob.setSystem(true); featureChangeJob.setUser(false); featureChangeJob.schedule(50); m_featureChangeJob = featureChangeJob; } } }
From source file:org.kalypso.ui.repository.view.RepositoryExplorerPart.java
License:Open Source License
/** * Restores the state of the receiver to the state described in the specified memento. * //from www.ja v a2 s . c o m * @param memento * the memento */ private void restoreState(final IMemento memento) { if (m_chooser == null) return; final TreeViewer viewer = m_chooser.getViewer(); final IMemento repsMem = memento.getChild(RepositoryExplorerPart.TAG_REPOSITORIES); if (repsMem != null) { final IMemento[] repMem = repsMem.getChildren(RepositoryExplorerPart.TAG_REPOSITORY); for (final IMemento element : repMem) { if (element == null) continue; try { final RepositoryFactoryConfig item = RepositoryFactoryConfig.restore(element.getTextData()); if (item != null) { // TODO: dirty! always use extension mechanism to instantiate repositories final IRepository rep = item.getFactory().createRepository(); final IMemento propsMem = element.getChild(RepositoryExplorerPart.TAG_REPOSITORY_PROPS); if (propsMem != null) MementoUtils.loadProperties(propsMem, rep.getProperties()); m_chooser.getRepositoryContainer().addRepository(rep); } } catch (final Exception e) // generic exception caught for simplicity { // ignored e.printStackTrace(); } } } final IMemento childMem = memento.getChild(RepositoryExplorerPart.TAG_EXPANDED); if (childMem != null) { final List<IRepositoryItem> elements = new ArrayList<>(); viewer.setExpandedElements(elements.toArray()); } }
From source file:org.modelversioning.emfprofile.application.registry.ui.observer.ViewerState.java
License:Open Source License
public void restoreTreeViewerState(TreeViewer viewer) { viewer.setInput(input);/*from w w w. j av a 2 s.c om*/ viewer.setExpandedElements(viewerExpandedElements); viewer.setSelection(selection, true); }
From source file:org.talend.repository.viewer.filter.PerspectiveFilterHelper.java
License:Open Source License
/** * Only activate the view content providers with the extension ID belonging to extensionIdsToActivate array. * // w w w . ja v a 2 s. c o m * * @param extensionIdsToActivate * @param restoring, used because setting new selection cause renentrance and may create 2 action types when * restoring state */ protected void refreshNavigatorContents(String[] extensionIdsToActivate, boolean restoring) { boolean updateExtensionActivation = false; String[] contentExtensionsToActivate = Arrays.copyOf(extensionIdsToActivate, extensionIdsToActivate.length); // we sort the array in order to use Array.binarySearch(); Arrays.sort(contentExtensionsToActivate); IStructuredSelection ssel = null; TreeViewer commonViewer = getTreeViewer(); INavigatorContentService contentService = getNavigatorContentService(); try { commonViewer.getControl().setRedraw(false); // store the selection ISelection selection = commonViewer.getSelection(); if (selection instanceof IStructuredSelection) { ssel = (IStructuredSelection) selection; } INavigatorContentDescriptor[] visibleContentDescriptors = contentService.getVisibleExtensions(); int indexofContentExtensionIdToBeActivated; /* is there a delta? */ for (int i = 0; i < visibleContentDescriptors.length && !updateExtensionActivation; i++) { indexofContentExtensionIdToBeActivated = Arrays.binarySearch(contentExtensionsToActivate, visibleContentDescriptors[i].getId()); /* * Either we have a filter that should be active that isn't XOR a filter that shouldn't be active that * is currently */ if (indexofContentExtensionIdToBeActivated >= 0 ^ contentService.isActive(visibleContentDescriptors[i].getId())) { updateExtensionActivation = true; } } /* If so, update */ if (updateExtensionActivation) { contentService.getActivationService().activateExtensions(contentExtensionsToActivate, true); contentService.getActivationService().persistExtensionActivations(); // try to keep expanded elements state Object[] expandedElements = commonViewer.getExpandedElements(); contentService.update(); commonViewer.refresh(); if (!restoring) { Object[] originalObjects = ssel != null ? ssel.toArray() : new Object[0]; commonViewer.setExpandedElements(expandedElements); // restore the selection. IStructuredSelection newSelection = new StructuredSelection(originalObjects); commonViewer.setSelection(newSelection, true); } } } finally { commonViewer.getControl().setRedraw(true); } }
From source file:tubame.knowhow.plugin.ui.action.CreateChapterPopupMenuAction.java
License:Apache License
/** * {@inheritDoc}/*w w w. j a v a 2 s. com*/ */ @Override public void run() { CreateChapterPopupMenuAction.LOGGER.debug(CmnStringUtil.EMPTY); InputDialog inputDialog = new InputDialog(PluginUtil.getActiveWorkbenchShell(), ResourceUtil.inputChapterSubject, ResourceUtil.inputChapterName, null, null); if (inputDialog.open() == InputDialog.OK) { // Pretreatment TreeViewer entryViewer = (TreeViewer) treeViewer; Object[] expandedNodes = entryViewer.getExpandedElements(); entryViewer.getTree().setRedraw(false); // Entry Processing List<EntryOperator> entryList = treeViewer.getInputEntry(); ChapterEntry chapter = new ChapterEntry(); chapter.setKey(ResourceUtil.dummyChapterID); chapter.setName(inputDialog.getValue()); chapter.setLevel(0); entryList.add(chapter); treeViewer.setEntryListData(entryList); // Post-processing treeViewer.refreshTreeViewer(true); entryViewer.setExpandedElements(expandedNodes); entryViewer.getTree().setRedraw(true); } CreateChapterPopupMenuAction.LOGGER .info(MessagePropertiesUtil.getMessage(MessagePropertiesUtil.LOG_CREATE_CONTEXTMENULIST)); }