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

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

Introduction

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

Prototype

public void replace(final Object parentElementOrTreePath, final int index, final Object element) 

Source Link

Document

For a TreeViewer with a tree with the VIRTUAL style bit set, replace the given parent's child at index with the given element.

Usage

From source file:com.diffplug.common.swt.jface.ViewerMisc.java

License:Apache License

/** Sets an {@link ILazyTreeContentProvider} implemented by the given {@link TreeDef.Parented}. */
@SuppressWarnings("unchecked")
public static <T> void setLazyTreeContentProvider(TreeViewer viewer, TreeDef.Parented<T> treeDef) {
    Preconditions.checkArgument(SwtMisc.flagIsSet(SWT.VIRTUAL, viewer.getControl()),
            "The tree must have SWT.VIRTUAL set.");
    viewer.setUseHashlookup(true);//from w w w. ja v  a2  s  . c  om
    viewer.setContentProvider(new ILazyTreeContentProvider() {
        @Override
        public void dispose() {
        }

        @Override
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }

        @Override
        public void updateElement(Object parent, int index) {
            T child = treeDef.childrenOf((T) parent).get(index);
            viewer.replace(parent, index, child);
            updateChildCount(child, 0);
        }

        @Override
        public void updateChildCount(Object element, int currentChildCount) {
            viewer.setChildCount(element, treeDef.childrenOf((T) element).size());
        }

        @Override
        public Object getParent(Object element) {
            return treeDef.parentOf((T) element);
        }
    });
}

From source file:com.puppetlabs.geppetto.puppetdb.ui.treenode.TreeNode.java

License:Open Source License

/**
 * <p>/*from  www . ja v a 2  s .c  om*/
 * Replaces the child at the given <code>index</code> in the <code>viewer</code> with the child that this instance has at the given
 * <code>index</code> using the method {@link TreeViewer#replace(Object, int, Object)} and also calls
 * {@link #updateChildCount(TreeViewer, int)} on that child.
 * </p>
 * 
 * @param viewer
 *            The viewer that will receive the call
 * @param index
 *            The index of the child node
 */
public void updateElement(TreeViewer viewer, int index) {
    C[] children = getChildren();
    if (index < children.length) {
        C child = children[index];
        viewer.replace(this, index, child);
        child.updateHasChildren(viewer);
    }
}

From source file:eu.numberfour.n4js.ui.preferences.ExternalLibraryTreeContentProvider.java

License:Open Source License

@Override
public void updateElement(final Object parent, final int index) {
    if (treeViewerRef.isPresent()) {
        final TreeViewer treeViewer = treeViewerRef.get();
        if (parent instanceof Iterable) {
            final Object child = Iterables.get((Iterable<?>) parent, index);
            treeViewer.replace(parent, index, child);
            if (child instanceof URI) {
                treeViewer.setChildCount(child, Iterables.size(getProjects((URI) child)));
            }/*  ww  w. jav  a 2 s.com*/
        } else if (parent instanceof URI) {
            final IN4JSProject child = Iterables.get(getProjects((URI) parent), index);
            treeViewer.replace(parent, index, child);
        }
    }
}

From source file:fr.inria.atlanmod.neoemf.eclipse.ui.editor.LazyAdapterFactoryContentProvider.java

License:Open Source License

@Override
public void updateElement(Object parent, int index) {
    TreeViewer tViewer = (TreeViewer) viewer;
    if (parent instanceof ResourceSet) {
        ResourceSet rSet = (ResourceSet) parent;
        Resource childResource = rSet.getResources().get(index);
        NeoLogger.debug("Updating children of {0}", parent.toString());
        tViewer.replace(parent, index, childResource);
        tViewer.setChildCount(childResource, childResource.getContents().size());
    }/*from w  ww .  j  a  va  2  s.c  o m*/
    if (parent instanceof Resource) {
        Resource r = (Resource) parent;
        EObject child = r.getContents().get(index);
        NeoLogger.debug("Updating children of {0}", parent.toString());
        tViewer.replace(parent, index, child);
        tViewer.setChildCount(child, getChildCount(child));
    }
    if (parent instanceof PersistentEObject) {
        PersistentEObject e = (PersistentEObject) parent;
        EObject child = e.eContents().get(index);
        NeoLogger.debug("Updating children of {0}", parent.toString());
        tViewer.replace(parent, index, child);
        tViewer.setChildCount(child, getChildCount(child));
    }
}

From source file:fr.inria.atlanmod.neoemf.eclipse.ui.editors.LazyAdapterFactoryContentProvider.java

License:Open Source License

@Override
public void updateElement(Object parent, int index) {
    TreeViewer tViewer = (TreeViewer) viewer;
    if (parent instanceof ResourceSet) {
        ResourceSet rSet = (ResourceSet) parent;
        Resource childResource = rSet.getResources().get(index);
        tViewer.replace(parent, index, childResource);
        tViewer.setChildCount(childResource, childResource.getContents().size());
    }/*from  www  . j  av a  2s.c om*/
    if (parent instanceof Resource) {
        Resource r = (Resource) parent;
        EObject child = r.getContents().get(index);
        tViewer.replace(parent, index, child);
        tViewer.setChildCount(child, getChildCount(child));
    }
    if (parent instanceof PersistentEObject) {
        PersistentEObject e = (PersistentEObject) parent;
        EObject child = e.eContents().get(index);
        tViewer.replace(parent, index, child);
        tViewer.setChildCount(child, getChildCount(child));
    }

}

From source file:org.eclipse.n4js.ui.preferences.external.ExternalLibraryTreeContentProvider.java

License:Open Source License

@Override
public void updateElement(final Object parent, final int index) {
    if (treeViewerRef.isPresent()) {
        final TreeViewer treeViewer = treeViewerRef.get();
        if (parent instanceof Iterable) {
            final Object child = Iterables.get((Iterable<?>) parent, index);
            treeViewer.replace(parent, index, child);
            if (child instanceof FileURI) {
                treeViewer.setChildCount(child, getProjects((FileURI) child).size());
            }//from  w ww .  jav a2s.c o m
        } else if (parent instanceof FileURI) {
            final IN4JSProject child = getProjects((FileURI) parent).get(index);
            treeViewer.replace(parent, index, child);
        }
    }
}

From source file:org.fusesource.ide.zk.core.viewers.TreeViewerType.java

License:Apache License

@Override
public void updateElement(StructuredViewer viewer, Object parent, int index, Object element) {
    TreeViewer treeViewer = (TreeViewer) viewer;
    treeViewer.replace(parent, index, element);
}