List of usage examples for org.eclipse.jface.viewers CheckboxTreeViewer getChecked
@Override
public boolean getChecked(Object element)
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; }/* w w w . java2s . 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); }//from w ww . j av a 2 s .com } } 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.j ava2 s . c om } 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;// w ww.j a va 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:de.ovgu.featureide.ui.statistics.ui.CheckBoxListener.java
License:Open Source License
public CheckBoxListener(final CheckboxTreeViewer viewer) { super();/*from ww w .j a v a2 s . c om*/ 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); } }); }
From source file:gov.redhawk.ide.sdr.ui.internal.handlers.LaunchDomainManagerWithOptionsDialog.java
License:Open Source License
@Override protected CheckboxTreeViewer createTreeViewer(final Composite parent) { final CheckboxTreeViewer retVal = super.createTreeViewer(parent); retVal.addDoubleClickListener(new IDoubleClickListener() { @Override//from w w w . ja v a 2 s. c om public void doubleClick(final DoubleClickEvent event) { final IStructuredSelection ss = (IStructuredSelection) event.getSelection(); final DeviceConfiguration dc = (DeviceConfiguration) ss.getFirstElement(); retVal.setChecked(dc, !retVal.getChecked(dc)); // DataBinding for observeCheckedElements does not pick up on double click events // So manually adding/removing nodes here to compensate if (retVal.getChecked(dc)) { nodes.add(dc); } else { nodes.remove(dc); } } }); return retVal; }
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. * /*from ww w .j ava2 s .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.bonitasoft.studio.contract.ui.wizard.FieldToContractInputMappingViewerCheckStateManager.java
License:Open Source License
private void deselectParentIfNoChildSelected(final CheckStateChangedEvent event, final FieldToContractInputMapping mapping, final CheckboxTreeViewer checkboxTreeViewer) { final FieldToContractInputMapping parentMapping = mapping.getParent(); boolean deselect = true; if (!event.getChecked() && parentMapping != null && !isAggregationField(parentMapping.getField())) { for (final FieldToContractInputMapping m : parentMapping.getChildren()) { if (checkboxTreeViewer.getChecked(m)) { deselect = false;/*from w w w . j a v a2 s.c o m*/ } } if (deselect) { checkboxTreeViewer.setChecked(parentMapping, false); parentMapping.setGenerated(false); deselectParentIfNoChildSelected(event, parentMapping, checkboxTreeViewer); } } }
From source file:org.bonitasoft.studio.contract.ui.wizard.FieldToContractInputMappingViewerCheckStateManagerTest.java
License:Open Source License
@Test public void should_selectParentIfChildIsSelected() { final FieldToContractInputMappingViewerCheckStateManager checkedStateManager = new FieldToContractInputMappingViewerCheckStateManager(); final FieldToContractInputMapping rootMapping = new RelationFieldToContractInputMapping( Mockito.mock(RelationField.class)); final SimpleFieldToContractInputMapping childMapping = new SimpleFieldToContractInputMapping( Mockito.mock(SimpleField.class)); rootMapping.addChild(childMapping);// ww w.ja va 2 s . c o m final CheckboxTreeViewer viewer = aCheckBoxTreeViewer(Lists.newArrayList(rootMapping)); checkedStateManager.checkStateChanged(new CheckStateChangedEvent(viewer, childMapping, true)); assertThat(viewer.getChecked(rootMapping)).isTrue(); assertThat(rootMapping.isGenerated()).isTrue(); }
From source file:org.bonitasoft.studio.contract.ui.wizard.FieldToContractInputMappingViewerCheckStateManagerTest.java
License:Open Source License
@Test public void should_deselectParent_IfNoChildIsSelected() { final FieldToContractInputMappingViewerCheckStateManager checkedStateManager = new FieldToContractInputMappingViewerCheckStateManager(); final FieldToContractInputMapping rootMapping = new RelationFieldToContractInputMapping( Mockito.mock(RelationField.class)); final SimpleFieldToContractInputMapping childMapping = new SimpleFieldToContractInputMapping( Mockito.mock(SimpleField.class)); rootMapping.addChild(childMapping);//from w w w .j a v a 2s. c om final CheckboxTreeViewer viewer = aCheckBoxTreeViewer(Lists.newArrayList(rootMapping)); checkedStateManager.checkStateChanged(new CheckStateChangedEvent(viewer, childMapping, false)); assertThat(viewer.getChecked(rootMapping)).isFalse(); assertThat(rootMapping.isGenerated()).isFalse(); }