List of usage examples for org.eclipse.jface.viewers CheckboxTreeViewer setChecked
@Override
public boolean setChecked(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 w ww . j a va2 s. c o 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); }//from ww w .j a va2 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.clustercontrol.composite.FacilityTreeComposite.java
License:Open Source License
private void setParentCheck(CheckboxTreeViewer checkboxTreeViewer, FacilityTreeItem item, boolean flag) { FacilityTreeItem parent = item.getParent(); if (parent == null) { return;//from w w w. j a v a 2 s. c o m } checkboxTreeViewer.setChecked(parent, flag); setParentCheck(checkboxTreeViewer, parent, flag); }
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 . j a v 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;/*from w w w . ja v a 2 s . co 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:com.jetbrains.mylyn.yt.ui.InPlaceResizableCheckBoxTreeDialog.java
License:Open Source License
@Override protected Control createControl(Composite parent) { getShell().setText(dialogLabel);// ww w . j a v a2s .c om Composite composite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); layout.marginHeight = MARGIN_SIZE; 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.BORDER, new SubstringPatternFilter()); gd = new GridData(GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL | GridData.FILL_BOTH); gd.heightHint = 175; CheckboxTreeViewer viewer = valueTree.getViewer(); viewer.getControl().setLayoutData(gd); if (validValues != null) { viewer.setContentProvider(new ITreeContentProvider() { public Object[] getChildren(Object parentElement) { if (parentElement instanceof Map<?, ?>) { return ((Map<?, ?>) parentElement).keySet().toArray(); } return null; } public Object getParent(Object element) { return null; } public boolean hasChildren(Object element) { return false; } public Object[] getElements(Object inputElement) { return getChildren(inputElement); } public void dispose() { } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } }); // viewer.setSorter(new ViewerSorter()); viewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { if (element instanceof String) { return validValues.get(element); } return super.getText(element); } }); viewer.setInput(validValues); Set<String> invalidValues = new HashSet<String>(); // Remove any currently entered invalid values for (String value : selectedValues) { if (!validValues.containsKey(value)) { invalidValues.add(value); } } // Remove any unselected values for (String value : validValues.keySet()) { if (!viewer.setChecked(value, true)) { invalidValues.add(value); } } selectedValues.removeAll(invalidValues); viewer.setCheckedElements(selectedValues.toArray()); } viewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { if (event.getChecked()) { selectedValues.add((String) event.getElement()); } else { selectedValues.remove(event.getElement()); } } }); return valueTree; }
From source file:com.nokia.tools.screen.ui.wizards.AbstractNewPackagePage.java
License:Open Source License
protected CheckboxTreeViewer createTaskViewer(Composite composite) { final CheckboxTreeViewer taskViewer = new CheckboxTreeViewer(composite, SWT.CHECK | SWT.NONE); taskViewer.setContentProvider(new TaskContentProvider()); taskViewer.setLabelProvider(new TaskLabelProvider()); taskViewer.setSorter(new TaskViewerSorter()); taskViewer.setInput(getContents());/*from w w w . ja va 2 s. c om*/ taskViewer.expandToLevel(2); taskViewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { if (event.getElement() instanceof ContentGroup) { ContentGroup group = (ContentGroup) event.getElement(); for (IContent content : group.getContents()) { taskViewer.setChecked(content, event.getChecked()); // this method call internally sets PACKAGING's // attribute value for corresponding ancestors and // children content.setAttribute(ContentAttribute.PACKAGING.name(), new Boolean(event.getChecked()).toString()); } } else { IContentData data = (IContentData) event.getElement(); if (taskViewer.getGrayed(data)) { taskViewer.setChecked(data, false); return; } // this method call internally sets PACKAGING's attribute // value for corresponding ancestors and children data.setAttribute(ContentAttribute.PACKAGING.name(), new Boolean(event.getChecked()).toString()); if (!event.getChecked()) { // unchecks the parent if necessary IContentData work = data.getParent(); while (work != null) { boolean nonSelected = true; for (IContentData child : work.getChildren()) { if (new Boolean((String) child.getAttribute(ContentAttribute.PACKAGING.name())) && new Boolean( (String) child.getAttribute(ContentAttribute.MODIFIED.name()))) { nonSelected = false; break; } } if (nonSelected) { // this method call internally sets PACKAGING's // attribute value for corresponding ancestors // and children work.setAttribute(ContentAttribute.PACKAGING.name(), "false"); } else { break; } work = work.getParent(); } } } updateTree(taskViewer); pageChanged(); } }); taskViewer.addTreeListener(new ITreeViewerListener() { public void treeCollapsed(TreeExpansionEvent event) { } /** * Notifies that a node in the tree has been expanded. * * @param event * event object describing details */ public void treeExpanded(TreeExpansionEvent event) { updateTree(taskViewer); } }); return taskViewer; }
From source file:com.nomagic.magicdraw.classpath.MDClasspathContainerPage.java
License:Open Source License
protected void handleSelectButtonPressed() { final IPath fRootPath = MDVariableInitializer.getMDInstallRootPath().addTrailingSeparator(); final File fRoot = fRootPath.toFile(); final List<File> initialSelection = new ArrayList<File>(); final List<String> checkedPrefixes = new ArrayList<String>(); final List<File> checkedSummary = new ArrayList<File>(); for (IPath mdLibPath : fMDClasspathEntries) { File mdLib = mdLibPath.toFile(); initialSelection.add(mdLib);//www. j a va 2 s .c o m } CheckedTreeSelectionDialog dialog = new CheckedTreeSelectionDialog(getContainer().getShell(), new FileLabelProvider(), new FileContentProvider()) { @Override public void create() { super.create(); CheckboxTreeViewer treeViewer = getTreeViewer(); for (File f : initialSelection) { IPath fp = fRootPath.append(f.getPath()); File af = fp.toFile(); treeViewer.reveal(af); treeViewer.setChecked(af, true); } treeViewer.collapseAll(); } @Override protected void computeResult() { checkedSummary.clear(); CheckboxTreeViewer treeViewer = getTreeViewer(); for (Object checkedElement : treeViewer.getCheckedElements()) { if (treeViewer.getGrayed(checkedElement)) continue; if (checkedElement instanceof File) { File checkedFile = (File) checkedElement; String checkedFilepath = checkedFile.getAbsolutePath(); boolean isCheckedDirectory = checkedFile.isDirectory(); if (isCheckedDirectory && !checkedFilepath.endsWith(File.separator)) checkedFilepath += File.separator; boolean addToSummary = true; for (String checkedPrefix : checkedPrefixes) { if (checkedPrefix.equals(checkedFilepath) || (!isCheckedDirectory && checkedFilepath.startsWith(checkedPrefix))) addToSummary = false; } if (addToSummary) { checkedSummary.add(checkedFile); if (checkedFile.isDirectory()) checkedPrefixes.add(checkedFilepath); } } } } }; dialog.setTitle("MagicDraw Library Classpath Selection"); dialog.setMessage("Select the libraries from the MagicDraw installation root:"); dialog.setInput(fRoot); dialog.setContainerMode(true); dialog.open(); int code = dialog.getReturnCode(); if (Dialog.OK == code) { String root = MDVariableInitializer.getMDInstallRootPath().toString(); int rootPrefix = root.length() + 1; fMDClasspathEntries.clear(); for (File file : checkedSummary) { String path = file.getAbsolutePath(); String lib = path.substring(rootPrefix); IPath mdLibpath = new Path(lib); fMDClasspathEntries.add(mdLibpath); } fMDClasspathEntryViewer.setInput(fMDClasspathEntries); } }
From source file:de.loskutov.fs.dialogs.MultipleFolderSelectionDialog.java
License:Open Source License
protected void newFolderButtonPressed() { NewFolderDialog dialog = new NewFolderDialog(getShell(), fSelectedContainer); if (dialog.open() == Window.OK) { CheckboxTreeViewer treeViewer = fViewer; treeViewer.refresh(fSelectedContainer); Object createdFolder = dialog.getResult()[0]; treeViewer.reveal(createdFolder); treeViewer.setChecked(createdFolder, true); treeViewer.setSelection(new StructuredSelection(createdFolder)); updateOKStatus();/*from w ww . jav a 2 s .co m*/ } }
From source file:de.ovgu.featureide.ui.statistics.ui.CheckBoxListener.java
License:Open Source License
public CheckBoxListener(final CheckboxTreeViewer viewer) { super();// w ww. j av a2 s . com this.viewer = viewer; viewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { Object[] sources = ((TreeSelection) event.getSelection()).toArray(); for (Object source : sources) { if (source instanceof Parent) { Parent selected = (Parent) source; if (selected.hasChildren()) { if (selected instanceof LazyParent) { ((LazyParent) selected).getChildren(); } boolean allChecked = allChildrenChecked(selected); viewer.setChecked(selected, !allChecked); for (Parent child : selected.getChildren()) { viewer.setChecked(child, !allChecked); } viewer.setExpandedState(selected, true); } else { viewer.setChecked(selected, viewer.getChecked(selected)); } } } refreshViewer(); } }); viewer.setCheckStateProvider(new ICheckStateProvider() { @Override public boolean isGrayed(Object element) { return viewer.getGrayed(element); } @Override public boolean isChecked(Object element) { return viewer.getChecked(element); } }); }