List of usage examples for org.eclipse.jface.viewers TreeViewer setChildCount
public void setChildCount(final Object elementOrTreePath, final int count)
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 ww w. j a v a 2s . c o m*/ 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.motorolamobility.studio.android.db.core.ui.LoadingJobListener.java
License:Apache License
@Override public void done(IJobChangeEvent event) { MOTODEVDatabaseExplorerView view = DbCoreActivator.getMOTODEVDatabaseExplorerView(); if (view != null) { final TreeViewer treeViewer = view.getTreeViewer(); Job job = event.getJob();// ww w. j a v a 2s. com if (job instanceof AbstractLoadingNodeJob) { AbstractLoadingNodeJob loadingNodeJob = (AbstractLoadingNodeJob) job; ITreeNode node = loadingNodeJob.getNode(); //Job is done, so we can set the loading flag to false. node.setLoading(false); final ITreeNode[] treeNodeContainer = { node }; //TreeViewer operations must be executed on the UI Thread. Display.getDefault().syncExec(new Runnable() { public void run() { ITreeNode node = treeNodeContainer[0]; List<ITreeNode> children = node.getChildren(); if (PluginUtils.getOS() != PluginUtils.OS_LINUX) { treeViewer.setChildCount(node, 0); } int size = children.size(); if (size > 0) { ((ILazyTreeContentProvider) treeViewer.getContentProvider()).updateElement(node, 0); //Force removal of loading node. } //updating the child count is sufficient to allow the tree to call the content provider and retrieve the new nodes. treeViewer.setChildCount(node, size); //updating the node so if needed the label/icon will be updated treeViewer.update(node, null); } }); } super.done(event); } }
From source file:com.puppetlabs.geppetto.puppetdb.ui.treenode.LeafNode.java
License:Open Source License
/** * Will set the viewer child count of the given <code>viewer</code> to zero for this instance *///from w w w . j av a 2s . c o m @Override public final void updateChildCount(TreeViewer viewer, int currentChildCount) { if (currentChildCount != 0) viewer.setChildCount(this, 0); }
From source file:com.puppetlabs.geppetto.puppetdb.ui.treenode.TreeNode.java
License:Open Source License
/** * Updates the child count for this node in the given <code>viewer</code> using the method {@link TreeViewer#setChildCount(Object, int)} * unless is equal to the <code>currentChildCount</code>. * //www . ja va 2s. c o m * @param viewer * The viewer that will receive the call * @param currentChildCount * The viewers current child count for this node */ public void updateChildCount(TreeViewer viewer, int currentChildCount) { C[] children = getChildren(); if (children.length != currentChildCount) viewer.setChildCount(this, children.length); }
From source file:com.puppetlabs.geppetto.puppetdb.ui.treenode.TreeNode.java
License:Open Source License
/** * Updates the <code>viewer</code> with information if this node has children or not * /*from ww w . j a v a2 s . co m*/ * @param viewer * The viewer that will receive the call */ public void updateHasChildren(TreeViewer viewer) { viewer.setChildCount(this, getChildren().length); }
From source file:eu.geclipse.ui.views.TreeControlViewPart.java
License:Open Source License
@Override public void refreshViewer(final IGridElement element) { if ((element != null) && (element instanceof IGridContainer)) { final IGridContainer container = (IGridContainer) element; if (container.isLazy() && container.isDirty()) { Control control = this.viewer.getControl(); if (!control.isDisposed()) { Display display = control.getDisplay(); display.syncExec(new Runnable() { public void run() { TreeViewer tViewer = (TreeViewer) getViewer(); tViewer.setChildCount(container, container.getChildCount()); }//from www . ja v a2s. c om }); } } } super.refreshViewer(element); }
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))); }/*from w ww.j ava 2 s . c o m*/ } else if (parent instanceof URI) { final IN4JSProject child = Iterables.get(getProjects((URI) parent), index); treeViewer.replace(parent, index, child); } } }
From source file:eu.numberfour.n4js.ui.preferences.ExternalLibraryTreeContentProvider.java
License:Open Source License
@Override public void updateChildCount(final Object element, final int currentChildCount) { if (treeViewerRef.isPresent()) { final TreeViewer treeViewer = treeViewerRef.get(); if (element instanceof Iterable) { treeViewer.setChildCount(element, Iterables.size((Iterable<?>) element)); } else if (element instanceof URI) { treeViewer.setChildCount(element, Iterables.size(getProjects((URI) element))); } else {//from w ww . j a v a 2s .c om treeViewer.setChildCount(element, 0); } } }
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 ww w . j a v a2 s . c om*/ 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.editor.LazyAdapterFactoryContentProvider.java
License:Open Source License
@Override public void updateChildCount(Object element, int currentChildCount) { TreeViewer tViewer = (TreeViewer) viewer; int childCount; if (element instanceof ResourceSet) { ResourceSet rSet = (ResourceSet) element; childCount = rSet.getResources().size(); NeoLogger.debug("ResourceSet childCount : {0}", childCount); tViewer.setChildCount(element, childCount); }/* w w w . j av a2s .co m*/ if (element instanceof Resource) { Resource r = (Resource) element; childCount = r.getContents().size(); NeoLogger.debug("Resource childCount : {0}", childCount); tViewer.setChildCount(element, childCount); } if (element instanceof PersistentEObject) { PersistentEObject e = (PersistentEObject) element; childCount = getChildCount(e); NeoLogger.debug("EObject ({0}) childCount : {1}", e.eClass().getName(), childCount); tViewer.setChildCount(element, childCount); } }