List of usage examples for org.eclipse.jface.viewers CheckboxTreeViewer setGrayChecked
public boolean setGrayChecked(Object element, boolean state)
From source file:backup.gui.CheckStateListener.java
License:Open Source License
public void checkStateChanged(CheckStateChangedEvent event) { CheckboxTreeViewer ctv = (CheckboxTreeViewer) event.getSource(); File startFile = (File) event.getElement(); // If the item is checked . . . if (event.getChecked()) { //run through the checked Items - and see if any of them are children of //this item. If Yes - they don't need to be checked anymore - since the new //parent check will encompass this. for (int i = 0; i < checkedItems_.size(); i++) { File current = checkedItems_.get(i); while (true) { current = current.getParentFile(); if (current == null) { break; }//from ww w. j av a2s . co m if (current.equals(startFile)) { ctv.setChecked(checkedItems_.get(i), false); checkedItems_.remove(i); i--; //array is one smaller now - need to backup. break; } } } //if a parent is checked, make this a grey check. //if a parent is gray checked - this is unneeded - cancel the check File parent = startFile; boolean parentChecked = false; boolean parentGrayed = false; while (true) { parent = parent.getParentFile(); if (parent == null) { break; } if (ctv.getChecked(parent)) { parentChecked = true; } if (ctv.getGrayed(parent)) { parentGrayed = true; } if (parentChecked || parentGrayed) { break; } } if (parentChecked) { ctv.setChecked(startFile, false); ctv.setGrayChecked(startFile, true); greyItems_.add(startFile); //run through the grey checked Items - and see if any of them are children of //this item. If Yes - they don't need to be checked anymore - since the new //parent check will encompass this. for (int i = 0; i < greyItems_.size(); i++) { File current = greyItems_.get(i); while (true) { current = current.getParentFile(); if (current == null) { break; } if (current.equals(startFile)) { ctv.setChecked(greyItems_.get(i), false); greyItems_.remove(i); i--; //array is one smaller now - need to backup. break; } } } } if (parentGrayed) { ctv.setChecked(startFile, false); ctv.setGrayChecked(startFile, false); } //If I didn't decide to uncheck it - it was left checked. if (!parentChecked && !parentGrayed) { checkedItems_.add(startFile); } } else { //item was unchecked. //need to uncheck any gray items under the check box. Should be impossible to have checked items //under a checked item. checkedItems_.remove(startFile); greyItems_.remove(startFile); ctv.setGrayChecked(startFile, false); for (int i = 0; i < greyItems_.size(); i++) { File current = greyItems_.get(i); while (true) { if (current == null) { break; } if (current.equals(startFile)) { ctv.setGrayChecked(greyItems_.get(i), false); ctv.setChecked(greyItems_.get(i), false); checkedItems_.remove(greyItems_.get(i)); greyItems_.remove(i); i--; break; } current = current.getParentFile(); } } } backupTool_.update(checkedItems_, greyItems_); }
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); }// w ww. j a v a 2s. co 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 setGrayed(CheckboxTreeViewer tv, Object element) { if (element == null) { return;//from www . j av a 2s .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:dynamicrefactoring.interfaz.wizard.classificationscombo.ClassificationsCheckBoxTreeListener.java
License:Open Source License
/** * Oscurece el padre si alguno de sus hijos esta marcado. Es decir * oscurece la clasificacion si alguna de sus categorias esta marcada. * /*from w ww . j a v a2s .c om*/ * @param classification * elemento padre * @param viewer visor */ protected static void grayParentIfNeeded(Classification classification, CheckboxTreeViewer viewer) { // Si alguno de los hijos de la clasificacion tiene algun hijo marcado if (!Sets.intersection(classification.getCategories(), Sets.newHashSet(Arrays.asList(viewer.getCheckedElements()))).isEmpty()) { // El padre se oscurecera viewer.setGrayChecked(classification, true); } else { viewer.setGrayChecked(classification, false); } }
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 ww. j a va2 s .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:org.eclipse.help.ui.internal.search.LocalHelpPage.java
License:Open Source License
void setSubtreeChecked(Object parent, boolean state, boolean checkExpandedState, CheckboxTreeViewer tree, ITreeContentProvider contentProvider) { Object[] children = contentProvider.getChildren(parent); for (int i = children.length - 1; i >= 0; i--) { Object element = children[i]; if (state) { tree.setChecked(element, true); tree.setGrayed(element, false); } else//from w w w . j a v a 2 s. c o m tree.setGrayChecked(element, false); if (isExpandable(element, contentProvider)) setSubtreeChecked(element, state, checkExpandedState, tree, contentProvider); } }
From source file:org.erlide.ui.launch.DebugTab.java
License:Open Source License
private static void checkParent(final DebugTreeItem parent, final CheckboxTreeViewer ctv) { int nChecked = 0, nUnchecked = 0; for (final DebugTreeItem i : parent.getChildren()) { if (ctv.getChecked(i)) { ++nChecked;// ww w . j a va 2s . c om } else { ++nUnchecked; } } final boolean gray = nChecked > 0 && nUnchecked > 0; final boolean check = !gray && nUnchecked == 0; ctv.setGrayChecked(parent, gray); if (check) { ctv.setChecked(parent, true); } }
From source file:webx.studio.projectcreation.ui.pages.ProjectStructureWizardPage.java
License:Open Source License
private void calcCheckBox(CheckboxTreeViewer viewer, IStructureRootNode parent) { boolean origChecked = viewer.getChecked(parent); ChildNode[] children = parent.getChildren(); if (children == null || children.length == 0) { viewer.setGrayChecked(parent, false); viewer.setChecked(parent, false); }//from w ww. j av a2 s . c o m boolean childChecked = false; boolean isBegin = false; for (ChildNode child : children) { if (!isBegin) { isBegin = true; childChecked = viewer.getChecked(child); } else { if (childChecked != viewer.getChecked(child)) { viewer.setGrayChecked(parent, true); return; } } } viewer.setGrayChecked(parent, false); viewer.setChecked(parent, childChecked); }