Example usage for org.eclipse.jface.viewers ITreeContentProvider hasChildren

List of usage examples for org.eclipse.jface.viewers ITreeContentProvider hasChildren

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers ITreeContentProvider hasChildren.

Prototype

public boolean hasChildren(Object element);

Source Link

Document

Returns whether the given element has children.

Usage

From source file:ca.uvic.cs.tagsea.tests.TagCollectionTests.java

License:Open Source License

public void testContentProvider() throws Exception {
    TagCollection tagCollection = new TagCollection();
    tagCollection.add("chris(child1)", TestPlatformFactory.instance().getMarker(), null);
    tagCollection.add("chris(child2)", TestPlatformFactory.instance().getMarker(), null);
    tagCollection.add("chris2", TestPlatformFactory.instance().getMarker(), null);

    ITreeContentProvider provider = tagCollection;
    Tag[] roots = (Tag[]) provider.getElements(new Object());
    assertEquals(2, roots.length);//from   w w  w.j  a  v  a  2 s.c om
    assertTrue(provider.hasChildren(roots[0]));
    assertEquals(2, provider.getChildren(roots[0]).length);
    assertTrue(!provider.hasChildren(roots[1]));
}

From source file:ch.elexis.core.ui.dialogs.DiagnoseSelektor.java

License:Open Source License

private void addDiagnoses(ITreeContentProvider tcp, Object[] roots) {
    for (Object object : roots) {
        if (tcp.hasChildren(object)) {
            addDiagnoses(tcp, tcp.getChildren(object));
        } else {//from   w w w .  ja v a2s .c  o m
            diagnoses.add((IDiagnose) object);
        }
    }
}

From source file:com.aptana.ide.views.outline.UnifiedOutlineProvider.java

License:Open Source License

/**
 * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
 *//*ww w  .  j a v  a2 s  . c o  m*/
public boolean hasChildren(Object element) {
    boolean result = false;

    switchLanguage(element);

    if (this._currentProviders != null) {
        ITreeContentProvider contentProvider = this._currentProviders.contentProvider;

        if (contentProvider != null) {
            result = contentProvider.hasChildren(element);
        }
    }

    return result;
}

From source file:com.aptana.index.core.ui.views.IndexViewContentProvider.java

License:Open Source License

public boolean hasChildren(Object element) {
    List<ITreeContentProvider> providers = this.getProcessors();
    boolean result = false;

    for (ITreeContentProvider provider : providers) {
        if (provider.hasChildren(element)) {
            result = true;//from  www .j  a  v a 2 s  . c  o m
            break;
        }
    }

    return result;
}

From source file:com.google.gwt.eclipse.oophm.breadcrumbs.BreadcrumbViewer.java

License:Open Source License

/**
 * Set selection to the next or previous element if possible.
 * /* w  w w.ja  va 2s .co  m*/
 * @param next <code>true</code> if the next element should be selected,
 *          otherwise the previous one will be selected
 */
void doTraverse(boolean next) {
    if (fSelectedItem == null)
        return;

    int index = fBreadcrumbItems.indexOf(fSelectedItem);
    if (next) {
        if (index == fBreadcrumbItems.size() - 1) {
            BreadcrumbItem current = (BreadcrumbItem) fBreadcrumbItems.get(index);

            ITreeContentProvider contentProvider = (ITreeContentProvider) getContentProvider();
            if (!contentProvider.hasChildren(current.getData()))
                return;

            current.openDropDownMenu();
            current.getDropDownShell().setFocus();
        } else {
            BreadcrumbItem nextItem = (BreadcrumbItem) fBreadcrumbItems.get(index + 1);
            selectItem(nextItem);
        }
    } else {
        if (index == 1) {
            BreadcrumbItem root = (BreadcrumbItem) fBreadcrumbItems.get(0);
            root.openDropDownMenu();
            root.getDropDownShell().setFocus();
        } else {
            selectItem((BreadcrumbItem) fBreadcrumbItems.get(index - 1));
        }
    }
}

From source file:com.ibm.research.tours.fx.dialogs.SelectViewDialog.java

License:Open Source License

/**
 * Return whether or not there are less than two views in the list.
 * //from   w w  w .  jav  a2  s  .co  m
 * @param tree
 * @return <code>true</code> if there are less than two views in the list.
 */
private boolean hasAtMostOneView(TreeViewer tree) {
    ITreeContentProvider contentProvider = (ITreeContentProvider) tree.getContentProvider();
    Object[] children = contentProvider.getElements(tree.getInput());

    if (children.length <= 1) {
        if (children.length == 0) {
            return true;
        }
        return !contentProvider.hasChildren(children[0]);
    }
    return false;
}

From source file:com.liferay.ide.server.ui.PluginsCustomContentProvider.java

License:Open Source License

public boolean hasChildren(Object element, boolean currentHasChildren) {
    if (element instanceof ModuleServer) {
        INavigatorContentService service = getConfig().getService();
        INavigatorContentExtension extension = getConfig().getExtension();

        INavigatorContentDescriptor descriptor = extension.getDescriptor();

        INavigatorContentExtension serverContent = service
                .getContentExtensionById(descriptor.getSuppressedExtensionId());

        ITreeContentProvider contentProvider = serverContent.getContentProvider();

        return contentProvider.hasChildren(element);
    } else if (element instanceof PluginsContent) {
        if (((PluginsContent) element).getSize() > 0) {
            return true;
        }//ww w .jav  a 2s .  co  m

        return false;
    }

    return false;
}

From source file:com.siteview.mde.internal.ui.shared.CachedCheckboxTreeViewer.java

License:Open Source License

/**
 * If the element is a leaf node, it is added to the result collection.  If the element has
 * children, this method will recursively look at the children and add any visible leaf nodes
 * to the collection.// w  ww . j a  v a2  s . c o  m
 * 
 * @param element element to check
 * @param contentProvider tree content provider to check for children
 * @param result collection to collect leaf nodes in
 */
private void addFilteredChildren(Object element, ITreeContentProvider contentProvider, Collection result) {
    if (!contentProvider.hasChildren(element)) {
        result.add(element);
    } else {
        Object[] visibleChildren = getFilteredChildren(element);
        for (int i = 0; i < visibleChildren.length; i++) {
            addFilteredChildren(visibleChildren[i], contentProvider, result);
        }
    }
}

From source file:de.quamoco.adaptation.wizard.util.elementsselection.filter.NamedElementPatternFilter.java

License:Apache License

/**
 * Asks the {@link ITreeContentProvider} of the viewer if
 * the passed element has children and returns false if so.
 * @param viewer the viewer/*from   w ww . j  a v  a 2  s  .  co  m*/
 * @param element the element
 * @return negation of {@link ITreeContentProvider#hasChildren(Object)
 */
protected boolean isLeaf(Viewer viewer, NamedElement element) {
    ITreeContentProvider contentProvider = (ITreeContentProvider) ((StructuredViewer) viewer)
            .getContentProvider();
    return !contentProvider.hasChildren(element);
}

From source file:de.quamoco.adaptation.wizard.util.modelattributes.filter.AttributesViewerFilter.java

License:Apache License

/**
 * Returns true for a given {@link QualityModel} iff it fulfills either {@link #isLeafMatch(QualityModel)}
 * or any of its (subsequent) children./*from   ww  w  .ja v a2  s. com*/
 */
@Override
public boolean select(Viewer viewer, Object parentElement, Object element) {
    if (element instanceof QualityModel) {
        QualityModel qualityModel = (QualityModel) element;

        if (isLeafMatch(qualityModel)) {
            return true;
        } else { // check paths below
            TreeViewer treeViewer = (TreeViewer) viewer;
            ITreeContentProvider contentProvider = (ITreeContentProvider) treeViewer.getContentProvider();

            // Check if an element in the children tree fulfills the criteria.
            // If yes return true because then element is on the path to this
            // element and the hierarchy shall be maintained
            if (contentProvider.hasChildren(element)) {
                for (Object child : contentProvider.getChildren(element)) {
                    if (select(viewer, element, child)) {
                        return true;
                    }
                }
            }
        }

    }
    return false;
}