List of usage examples for org.eclipse.jface.viewers CheckboxTreeViewer setGrayed
public boolean setGrayed(Object element, boolean state)
From source file:com.bdaum.zoom.ui.internal.wizards.ImportFileSelectionPage.java
License:Open Source License
private void visualizeDiff(ImportNode[] nodes, CheckboxTreeViewer viewer) { for (ImportNode node : nodes) { if (node.type == Calendar.DAY_OF_MONTH) { StorageObject[] memberFiles = node.memberFiles; if (memberFiles != null) { int mCount = node.missing == null ? 0 : node.missing.size(); if (mCount == 0) viewer.setGrayChecked(node, false); else if (mCount != memberFiles.length) viewer.setGrayChecked(node, true); else { viewer.setGrayed(node, false); viewer.setChecked(node, true); }//from w w w .ja va 2 s .c o m } } else if (node.type == FILE) { int mCount = node.missing == null ? 0 : node.missing.size(); viewer.setChecked(node, mCount != 1); } else if (node.children != null && !node.children.isEmpty()) { ImportNode[] children = node.children.toArray(new ImportNode[node.children.size()]); visualizeDiff(children, viewer); int checked = 0; int grayed = 0; for (ImportNode child : children) if (viewer.getChecked(child)) { ++checked; if (viewer.getGrayed(child)) ++grayed; } if (checked == 0) viewer.setGrayChecked(node, false); else if (checked < children.length || grayed != 0) viewer.setGrayChecked(node, true); else { viewer.setChecked(node, true); viewer.setGrayed(node, false); } } progressbar.setSelection(++progress); } }
From source file:com.github.caofangkun.bazelipse.wizard.DirectoryTreeContentProvider.java
License:Open Source License
private static void setChecked(final CheckboxTreeViewer tv, Object element) { // When user checks a checkbox in the tree, check all its children and mark parent as greyed // When a user uncheck a checkbox, mark the subtree as unchecked and ungrayed and if unique // sibling parent as grayed. DirectoryTreeContentProvider provider = (DirectoryTreeContentProvider) tv.getContentProvider(); boolean isChecked = tv.getChecked(element); if (tv.getGrayed(element)) { isChecked = !isChecked;//from w w w . jav a2s .c o m } tv.setChecked(element, isChecked); tv.setGrayed(element, false); if (isChecked) { tv.setSubtreeChecked(element, true); } else { tv.setSubtreeChecked(element, false); } setGrayed(tv, provider.getParent(element)); }
From source file:com.github.caofangkun.bazelipse.wizard.DirectoryTreeContentProvider.java
License:Open Source License
private static void setGrayed(CheckboxTreeViewer tv, Object element) { if (element == null) { return;// ww w .j a va 2 s . c o m } DirectoryTreeContentProvider provider = (DirectoryTreeContentProvider) tv.getContentProvider(); boolean checked = tv.getChecked(element); boolean grayed = false; for (Object object : provider.getChildren(element)) { grayed = grayed || tv.getGrayed(object) || tv.getChecked(object); checked = checked && tv.getChecked(object) && !tv.getGrayed(element); } if (checked) { tv.setChecked(element, true); tv.setGrayed(element, false); } else if (grayed) { tv.setGrayChecked(element, true); } else { tv.setChecked(element, false); tv.setGrayed(element, false); } setGrayed(tv, provider.getParent(element)); }
From source file:fr.inria.linuxtools.internal.tmf.ui.project.wizards.tracepkg.AbstractTracePackageWizardPage.java
License:Open Source License
/** * A version of setSubtreeChecked that is aware of isEnabled * * @param viewer//from ww w . j a va2s . c o m * the viewer * @param element * the element * @param enabledOnly * if only enabled elements should be considered * @param checked * true if the item should be checked, and false if it should be * unchecked */ protected static void setSubtreeChecked(CheckboxTreeViewer viewer, TracePackageElement element, boolean enabledOnly, boolean checked) { if (!enabledOnly || element.isEnabled()) { viewer.setChecked(element, checked); if (checked) { viewer.setGrayed(element, false); } element.setChecked(checked); if (element.getChildren() != null) { for (TracePackageElement child : element.getChildren()) { setSubtreeChecked(viewer, child, enabledOnly, checked); } } } }
From source file:gov.nasa.ensemble.common.ui.multiselect.InPlaceCheckBoxTreeDialog.java
License:Open Source License
@Override protected Control createControl(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); layout.marginHeight = MARGIN_SIZE;//w ww . ja va2 s . co m layout.marginWidth = MARGIN_SIZE; layout.horizontalSpacing = 0; layout.verticalSpacing = 0; composite.setLayout(layout); GridData gd = new GridData(GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL | GridData.FILL_BOTH); composite.setLayoutData(gd); valueTree = new CheckboxFilteredTree(composite, SWT.CHECK | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER, new SubstringPatternFilter()); gd = new GridData(GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL | GridData.FILL_BOTH); gd.heightHint = 175; gd.widthHint = 160; CheckboxTreeViewer viewer = valueTree.getViewer(); viewer.getControl().setLayoutData(gd); if (optionsList != null) { viewer.setContentProvider(new ITreeContentProvider() { @Override public Object[] getChildren(Object parentElement) { if (parentElement instanceof List<?>) { return ((List<?>) parentElement).toArray(); } return null; } @Override public Object getParent(Object element) { return null; } @Override public boolean hasChildren(Object element) { return false; } @Override public Object[] getElements(Object inputElement) { return getChildren(inputElement); } @Override public void dispose() { //do nothing } @Override public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { //do nothing } }); viewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { if (element instanceof String) { return (String) element; } return super.getText(element); } }); optionsList.remove(null); viewer.setInput(optionsList); Set<String> invalidValues = new HashSet<String>(); // Remove any currently entered invalid values for (String value : selectedList) { if (!optionsList.contains(value)) { invalidValues.add(value); } } // Remove any unselected values for (String value : optionsList) { if (!viewer.setChecked(value, true)) { invalidValues.add(value); } } selectedList.removeAll(invalidValues); Set<String> joinChecked = new HashSet<String>(getSelectedValues()); for (String i : getPartialValues()) { viewer.setGrayed(i, true); joinChecked.add(i); } viewer.setCheckedElements(joinChecked.toArray()); } this.addEventListener(new IInPlaceDialogListener() { @Override public void buttonPressed(InPlaceDialogEvent event) { if (event.getReturnCode() == AbstractInPlaceDialog.ID_OK) { dialogButtonPressOK(); } else if (event.getReturnCode() == AbstractInPlaceDialog.ID_DESELECT_ALL) { dialogButtonPressDeselect(); } } }); viewer.addCheckStateListener(new ICheckStateListener() { @Override public void checkStateChanged(CheckStateChangedEvent event) { if (event.getChecked()) { if (greyedList.contains(event.getElement())) { greyedList.remove(event.getElement()); valueTree.getViewer().setGrayed(event.getElement(), false); } selectedList.add((String) event.getElement()); } else { if (greyedList.contains(event.getElement())) { greyedList.remove(event.getElement()); valueTree.getViewer().setGrayed(event.getElement(), false); } else { selectedList.remove(event.getElement()); } } } }); return valueTree; }
From source file:net.refractions.udig.project.ui.internal.LegendViewCheckboxUtils.java
License:Open Source License
/** * Sets the checkbox status of the folder on the viewer. This method checks the child layers of * the folder to determine the status.//from w w w .ja va 2s .c o m * * @param viewer * @param folder */ private static void setFolderCheckbox(final CheckboxTreeViewer viewer, final Folder folder) { switch (getFolderCheckboxDisplay(viewer, folder)) { case CHECKED: viewer.setChecked(folder, true); viewer.setGrayed(folder, false); break; case BLOCKED: viewer.setGrayChecked(folder, true); break; case UNCHECKED: viewer.setChecked(folder, false); viewer.setGrayed(folder, false); break; default: break; } }
From source file:net.sourceforge.tagsea.resources.sharing.ui.CheckboxTreeViewerGreyStateUpdater.java
License:Open Source License
/** * Sets the checked state of the given element and all of its children to the value * of "checked"./*from www . j a v a 2s. c o m*/ * @param viewer * @param element * @param checked */ private void setCheckedState(CheckboxTreeViewer viewer, Object element, boolean checked) { ITreeContentProvider provider = (ITreeContentProvider) viewer.getContentProvider(); LinkedList<Object> elements = new LinkedList<Object>(); elements.add(element); while (elements.size() > 0) { Object current = elements.removeFirst(); viewer.setChecked(current, checked); viewer.setGrayed(current, false); for (Object child : provider.getChildren(current)) { elements.add(child); } } }
From source file:net.sourceforge.tagsea.resources.sharing.ui.ResourceWaypointImportWizardPage2.java
License:Open Source License
/** * @param leaves// w w w . ja va2s . c o m */ protected void updateTreeGrayedState(CheckboxTreeViewer treeViewer, List<?> leaves, boolean checked) { for (Object leaf : leaves) { if (checked) { if (leaf instanceof IResourceWaypointDescriptor) { IResourceWaypointDescriptor d = (IResourceWaypointDescriptor) leaf; Set<String> checkedAttributes = checkedMap.get(d); int checkCount = checkedAttributes.size() + (tagCheckedSet.contains(d) ? 1 : 0); int expectedCount = VISIBLE_ATTRIBUTES.length + 1; if (checkedAttributes != null) { if (checkCount == 0) { treeViewer.setChecked(leaf, false); treeViewer.setGrayed(leaf, false); } else if (checkCount == expectedCount) { treeViewer.setChecked(leaf, true); treeViewer.setGrayed(leaf, false); } else if (checkCount < expectedCount) { treeViewer.setChecked(leaf, true); treeViewer.setGrayed(leaf, true); } } } } else { treeViewer.setChecked(leaf, false); treeViewer.setGrayed(leaf, false); } } //@tag tagsea.performance : this could be made faster if we didn't refresh the whole tree. CheckboxTreeViewerGreyStateUpdater.initializeGrayedState(treeViewer); }
From source file:org.eclipse.emf.validation.ui.internal.preferences.CategoryTreeNode.java
License:Open Source License
/** * Updates the GUI to reflect my current checked state, and propagates my * state up the tree to my ancestors./* www.ja v a 2s . c o m*/ */ private void updateTree() { CheckboxTreeViewer tree = getTree(); if (tree.getChecked(this) != isChecked()) { tree.setChecked(this, isChecked()); } if (tree.getGrayed(this) != isGrayed()) { tree.setGrayed(this, isGrayed()); } updateParent(); }
From source file:org.eclipse.help.ui.internal.search.LocalHelpPage.java
License:Open Source License
void updateParentState(Object child, boolean baseChildState, CheckboxTreeViewer tree, ITreeContentProvider contentProvider) { if (child == null) return;/*from ww w.java 2 s . c om*/ Object parent = contentProvider.getParent(child); if (parent == null) return; boolean allSameState = true; Object[] children = null; children = contentProvider.getChildren(parent); for (int i = children.length - 1; i >= 0; i--) { if (tree.getChecked(children[i]) != baseChildState || tree.getGrayed(children[i])) { allSameState = false; break; } } tree.setGrayed(parent, !allSameState); tree.setChecked(parent, !allSameState || baseChildState); updateParentState(parent, baseChildState, tree, contentProvider); }