List of usage examples for org.eclipse.jface.viewers CheckboxTreeViewer getGrayedElements
public Object[] getGrayedElements()
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); }