org.eclipse.jface.viewers.TreeViewer#getExpandedElements ( )源码实例Demo

下面列出了org.eclipse.jface.viewers.TreeViewer#getExpandedElements ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

/**
 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
 */
public void propertyChange(PropertyChangeEvent event) {
	if (fCompoundState == isInCompoundState())
		return;
	else
		fCompoundState= isInCompoundState();

	if (!isInCompoundState()) {
		fMapToLogicalPackage.clear();
		fMapToPackageFragments.clear();
	}

	if(fViewer instanceof TreeViewer){
		TreeViewer viewer= (TreeViewer) fViewer;
		Object[] expandedObjects= viewer.getExpandedElements();
		viewer.refresh();
		viewer.setExpandedElements(expandedObjects);
	} else
		fViewer.refresh();
}
 
源代码2 项目: n4js   文件: AbstractOutlineWorkbenchTest.java
protected void assertExpanded(TreeViewer aTreeViewer, IOutlineNode... expectedExpansion) {
	Object[] expandedElements = aTreeViewer.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;
		}
		fail("Unexpected expansion" + expandedObject.toString());
	}
}
 
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;
		}
		fail("Unexpected expansion" + expandedObject.toString());
	}
}
 
源代码4 项目: texlipse   文件: TexOutlinePage.java
/**
 * Updates the outline with new content. Called by TexDocumentModel
 * through the editor. Saves the visible state of the outline,
 * sets the new content and restores the state.
 *
 * @param input the new outline input
 */
public void update(TexOutlineInput input) {
    this.input = input;
    
    TreeViewer viewer= getTreeViewer();
    if (viewer != null) {
        
        Control control= viewer.getControl();
        if (control != null && !control.isDisposed()) {
            control.setRedraw(false);
                            
            //First try smart update
            boolean succUpdate = ((TexContentProvider) viewer.getContentProvider()).updateElements(viewer, input.getRootNodes());
            if (!succUpdate) {
                viewer.getTree().deselectAll();
                // save viewer state
            	Object[] expandedElements = viewer.getExpandedElements();
                // set new input
            	viewer.setInput(input.getRootNodes());
                /*viewer.getContentProvider().inputChanged(viewer, null, input.getRootNodes());
                viewer.refresh(true);*/
                // restore viewer state
            	viewer.setExpandedElements(expandedElements);
            }
            control.setRedraw(true);
            
            // disable the refresh button, enable context stuff
            outlineActions.get(ACTION_UPDATE).setEnabled(false);
            outlineActions.get(ACTION_COPY).setEnabled(true);
            outlineActions.get(ACTION_CUT).setEnabled(true);
            outlineActions.get(ACTION_PASTE).setEnabled(true);
            outlineActions.get(ACTION_DELETE).setEnabled(true);
        }
    }
}
 
protected void update() {
    final IDocument document = documentProvider.getDocument(currentInput);

    if (document instanceof JsonDocument) {
        final Model model = ((JsonDocument) document).getModel();
        if (model == null) {
            return;
        }

        final TreeViewer viewer = getTreeViewer();

        if (viewer != null && viewer.getControl() != null && !viewer.getControl().isDisposed()) {
            // we keep all elements that have been previously expanded
            // so the tree stay in the same state between updates.
            final Object[] expandedElements = viewer.getExpandedElements();
            final List<Object> elements = expandedElements != null ? Arrays.asList(expandedElements) : null;

            viewer.setInput(model);

            if (elements != null && !elements.isEmpty()) {
                List<AbstractNode> newElements = new ArrayList<>();
                model.allNodes().forEach(node -> {
                    if (elements.contains(node))
                        newElements.add(node);
                });
                viewer.setExpandedElements(newElements.toArray());
            }
        }
    }
}
 
protected void toggleHierarchy() {
	TreeViewer treeViewer= getTreeViewer();

	treeViewer.getTree().setRedraw(false);

	Object[] expandedElements= treeViewer.getExpandedElements();
	TypeHierarchyContentProvider contentProvider= (TypeHierarchyContentProvider) treeViewer.getContentProvider();
	treeViewer.setContentProvider(fOtherContentProvider);

	treeViewer.refresh();
	if (fOtherExpandedElements != null) {
		treeViewer.setExpandedElements(fOtherExpandedElements);
	} else {
		treeViewer.expandAll();
	}

	// reveal selection
	Object selectedElement= getSelectedElement();
	if (selectedElement != null)
		getTreeViewer().reveal(selectedElement);
	else
		selectFirstMatch();

	treeViewer.getTree().setRedraw(true);

	fOtherContentProvider= contentProvider;
	fOtherExpandedElements= expandedElements;

	updateStatusFieldText();
}
 
源代码7 项目: xsemantics   文件: AbstractOutlineWorkbenchTest.java
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;
		}
		fail("Unexpected expansion" + expandedObject.toString());
	}
}
 
源代码8 项目: Pydev   文件: PyCodeCoverageTestWorkbench.java
public void testPyCodeCoverageView() throws Exception {

        final PyCodeCoverageView view = PyCodeCoverageView.getView(true);
        //At this point it should have no folder selected and the option to run things in coverage should be
        //set to false.
        assertTrue(!PyCoveragePreferences.getAllRunsDoCoverage());
        assertTrue(PyCodeCoverageView.getChosenDir() == null);

        assertTrue(!view.allRunsGoThroughCoverage.getSelection());
        assertTrue(!PyCoveragePreferences.getInternalAllRunsDoCoverage());
        view.allRunsGoThroughCoverage.setSelection(true);
        view.allRunsGoThroughCoverage.notifyListeners(SWT.Selection, new Event());

        assertTrue(PyCoveragePreferences.getInternalAllRunsDoCoverage());
        assertTrue(!PyCoveragePreferences.getAllRunsDoCoverage());

        view.setSelectedContainer(sourceFolder);
        TreeViewer treeViewer = view.getTreeViewer();
        ITreeContentProvider cp = (ITreeContentProvider) treeViewer.getContentProvider();
        Object[] elements = cp.getElements(treeViewer.getInput());
        assertEquals(1, elements.length);
        ILabelProvider labelProvider = (ILabelProvider) treeViewer.getLabelProvider();
        assertEquals("pack_cov", labelProvider.getText(elements[0]));

        TestCaseUtils.assertContentsEqual(getInitialCoverageText(), view.getCoverageText());

        Object[] expandedElements = treeViewer.getExpandedElements();
        assertEquals(0, expandedElements.length);
        treeViewer.expandAll();
        expandedElements = treeViewer.getExpandedElements();
        assertEquals(1, expandedElements.length);

        view.executeRefreshAction(new NullProgressMonitor());
        expandedElements = treeViewer.getExpandedElements();
        assertEquals(1, expandedElements.length);

        assertTrue(PyCoveragePreferences.getAllRunsDoCoverage());

        final IWorkbench workBench = PydevPlugin.getDefault().getWorkbench();
        Display display = workBench.getDisplay();

        // Make sure to run the UI thread.
        final PyEdit modCovEditor = (PyEdit) PyOpenEditor.doOpenEditor(modCov);
        try {
            display.syncExec(new Runnable() {
                @Override
                public void run() {
                    LaunchShortcut launchShortcut = new LaunchShortcut();
                    launchShortcut.launch(modCovEditor, "run");
                }
            });

            final String modCovCoverageText = StringUtils.replaceNewLines(getModCovCoverageText(), "\n");
            //Should be enough time for the refresh to happen!
            goToManual(10000, new ICallback<Boolean, Object>() {

                @Override
                public Boolean call(Object arg) {
                    return modCovCoverageText.equals(StringUtils.replaceNewLines(view.getCoverageText(), "\n"));
                }
            });

            TestCaseUtils.assertContentsEqual(modCovCoverageText, view.getCoverageText());

            //goToManual();
        } finally {
            try {
                modCovEditor.close(false);
            } catch (Exception e) {
                //ignore anything here
            }
        }

    }