Example usage for org.eclipse.jface.viewers CheckboxTreeViewer getGrayedElements

List of usage examples for org.eclipse.jface.viewers CheckboxTreeViewer getGrayedElements

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers CheckboxTreeViewer getGrayedElements.

Prototype

public Object[] getGrayedElements() 

Source Link

Document

Returns a list of grayed elements in this viewer's tree, including currently hidden ones that are marked as grayed but are under a collapsed ancestor.

Usage

From source file:net.refractions.udig.project.ui.internal.LegendViewCheckboxUtils.java

License:Open Source License

/**
 * Returns what the status of the folder's checkbox should be with respect to its child layers.
 * /*  w w  w .j  a va2s.  c  om*/
 * @param viewer
 * @param folder
 * @return CHECKED - the folder should be checked, BLOCKED - folder should be blocked, UNCHECKED
 *         - folder should be unchecked
 */
private static FolderState getFolderCheckboxDisplay(CheckboxTreeViewer viewer, Folder folder) {

    final List<ILegendItem> items = folder.getItems();
    if (items.size() == 0) {

        final boolean isGrayed = viewer.getGrayed(folder);
        if (isGrayed) {
            return FolderState.BLOCKED;
        }
        final boolean isChecked = viewer.getChecked(folder);
        if (isChecked) {
            return FolderState.CHECKED;
        }

    } else {

        int checkedCnt = 0;
        int grayedCnt = 0;
        final List<Object> grayedElements = Arrays.asList(viewer.getGrayedElements());
        final List<Object> checkedElements = Arrays.asList(viewer.getCheckedElements());

        for (ILegendItem item : items) {
            if (grayedElements.contains(item)) {
                grayedCnt++;
            } else if (checkedElements.contains(item)) {
                checkedCnt++;
            }
        }
        if (checkedCnt > 0) {
            if (checkedCnt == items.size()) {
                return FolderState.CHECKED;
            } else {
                return FolderState.BLOCKED;
            }
        }
        if (grayedCnt > 0) {
            return FolderState.BLOCKED;
        }

    }

    return FolderState.UNCHECKED;

}

From source file:org.kalypso.contribs.eclipse.jface.wizard.TreeSelectionPage.java

License:Open Source License

protected void updateState(final CheckboxTreeViewer viewer) {
    m_checkedElements = viewer.getCheckedElements();
    m_grayedElements = viewer.getGrayedElements();

    setPageComplete(m_checkedElements != null && m_checkedElements.length > 0);
}