下面列出了org.eclipse.jface.viewers.EditingSupport#org.eclipse.jface.viewers.CheckStateChangedEvent 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public void checkStateChanged(CheckStateChangedEvent event) {
if (mConfigurable) {
Module module = (Module) event.getElement();
if (event.getChecked()) {
// restore last severity before setting to ignore
Severity lastEnabled = module.getLastEnabledSeverity();
if (lastEnabled != null) {
module.setSeverity(lastEnabled);
} else {
module.setSeverity(module.getMetaData().getDefaultSeverityLevel());
}
} else {
module.setSeverity(Severity.ignore);
}
mIsDirty = true;
mTableViewer.refresh(module, true);
}
refreshTableViewerState();
}
@Override
public void checkStateChanged(CheckStateChangedEvent event) {
if (isCancelEvents) return;
try{
isCancelEvents = true;
Sdk activeSdk = sdkRegistry.getDefaultSdk();
if (activeSdk == event.getElement() && !event.getChecked()) {
sdkTableViewer.setChecked(activeSdk, true);
}
else if (activeSdk != event.getElement()) {
if (activeSdk != null) {
sdkTableViewer.setChecked(activeSdk, false);
}
activeSdk = (Sdk)event.getElement();
sdkRegistry.setDefaultSdk(activeSdk.getName());
getApplyButton().setEnabled(true);
}
}
finally{
isCancelEvents = false;
}
}
protected PathsProvider(TableViewer viewer, FindbugsPropertyPage propertyPage) {
this.propertyPage = propertyPage;
this.paths = new ArrayList<>();
this.viewer = viewer;
if (viewer instanceof CheckboxTableViewer) {
CheckboxTableViewer tv = (CheckboxTableViewer) viewer;
tv.setCheckStateProvider(this);
tv.addCheckStateListener(new ICheckStateListener() {
@Override
public void checkStateChanged(CheckStateChangedEvent event) {
boolean checked = event.getChecked();
IPathElement element = (IPathElement) event.getElement();
element.setEnabled(checked);
handleContendChanged();
}
});
}
this.control = viewer.getTable();
listeners = new ListenerList();
viewer.setContentProvider(this);
}
@Override
public void checkStateChanged(@Nullable CheckStateChangedEvent event) {
if (event == null) {
return;
}
/* Set Y filter if needed */
if (event.getChecked()) {
if (fYFilter == null) {
IDataChartDescriptor<?, ?> descriptor = (IDataChartDescriptor<?, ?>) event.getElement();
fYFilter = descriptor;
}
} else {
tryResetYFilter();
}
/* Refresh controls */
fSelectionYTable.refresh();
fAddButton.setEnabled(checkIfButtonReady());
configureLogscaleCheckboxes();
}
@Override
public void checkStateChanged(CheckStateChangedEvent event) {
try {
ITimeGraphEntry entry = (ITimeGraphEntry) event.getElement();
boolean checked = event.getChecked();
if (checked) {
checkElement(entry);
} else {
uncheckElement(entry);
}
} catch (ClassCastException e) {
return;
} finally {
updateOKStatus();
}
}
public void doubleClick(DoubleClickEvent event) {
IStructuredSelection selection = (IStructuredSelection) event
.getSelection();
Object firstElement = selection.getFirstElement();
if (treeViewer.isExpandable(firstElement)) {
boolean expanded = treeViewer.getExpandedState(firstElement);
treeViewer.setExpandedState(firstElement, !expanded);
} else {
// FIXME :: does not trigger validation
boolean newState = !treeViewer.getChecked(firstElement);
treeViewer.setChecked(firstElement, newState);
if (checkStateListener != null) {
checkStateListener
.checkStateChanged(new CheckStateChangedEvent(
treeViewer, firstElement, newState));
}
}
}
public void checkStateChanged(CheckStateChangedEvent event) {
Object element = event.getElement();
// in case of changed category, go to all problems
if (element instanceof String) {
ITreeContentProvider contentProvider = (ITreeContentProvider)getTreeViewer().getContentProvider();
Object[] problems = contentProvider.getChildren(element);
for (Object problem : problems) {
if (problem instanceof Problem) {
((Problem)problem).setEnabled(event.getChecked());
}
}
}
if (element instanceof Problem) {
((Problem) element).setEnabled(event.getChecked());
}
}
@Override
protected CheckboxTreeViewer createTreeViewer(Composite parent) {
int style = SWT.VIRTUAL | SWT.FULL_SELECTION | SWT.BORDER
| SWT.H_SCROLL | SWT.V_SCROLL;
CheckboxTreeViewer result = new CheckboxTreeViewer(parent, style);
result.setLabelProvider(new WorkbenchLabelProvider());
result.setContentProvider(new BaseWorkbenchContentProvider());
result.setComparator(new NodeWrapperTreeSorter());
result.addCheckStateListener(new ICheckStateListener() {
@Override
public void checkStateChanged(CheckStateChangedEvent event) {
if (recursiveTreeSelect) {
tree.setSubtreeChecked(event.getElement(), event.getChecked());
}
}
});
tree = result;
return result;
}
@Override
public void checkStateChanged(CheckStateChangedEvent event) {
Optional<Document> activeDocument = ModelRegistryPlugin.getModelRegistry().getActiveDocument();
if (activeDocument.isPresent()) {
Document document = activeDocument.get();
Command changeCommand = new ExecuteCommand() {
@Override
public void execute() {
final Term element = (Term) event.getElement();
setTermChanged(document, element, event.getChecked());
}
};
executeCommand(changeCommand);
}
viewer.update(event.getElement(), null);
}
/**
* Creates the tree viewer.
*
* @param parent the parent composite
* @return the tree viewer
*/
protected CheckboxTreeViewer createTreeViewer(Composite parent) {
fViewer = new CheckboxTreeViewer(parent, SWT.BORDER);
fViewer.setContentProvider(fContentProvider);
fViewer.setLabelProvider(fLabelProvider);
fViewer.addCheckStateListener(new ICheckStateListener() {
public void checkStateChanged(CheckStateChangedEvent event) {
updateOKStatus();
}
});
fViewer.setComparator(new ResourceComparator(ResourceComparator.NAME));
if (fFilters != null) {
for (int i = 0; i != fFilters.size(); i++)
fViewer.addFilter(fFilters.get(i));
}
fViewer.setInput(fInput);
return fViewer;
}
/**
* Creates the checkbox tree and list for selecting resources.
* @param parent
* the parent control
*/
protected final void createResourcesGroup(Composite parent) {
// create the input element, which has the root resource
// as its only child
List input = new ArrayList();
IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
for (int i = 0; i < projects.length; i++) {
if (projects[i].isOpen()) {
input.add(projects[i]);
}
}
this.resourceGroup = new ResourceTreeAndListGroup(parent, input, getResourceProvider(IResource.FOLDER
| IResource.PROJECT), WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider(),
getResourceProvider(IResource.FILE), WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider(),
SWT.NONE, DialogUtil.inRegularFontMode(parent));
ICheckStateListener listener = new ICheckStateListener() {
public void checkStateChanged(CheckStateChangedEvent event) {
updateWidgetEnablements();
}
};
this.resourceGroup.addCheckStateListener(listener);
}
@Override
protected TableViewer createTableViewer() {
final CheckboxTableViewer viewer = CheckboxTableViewer.newCheckList(this, SWT.MULTI | SWT.H_SCROLL
| SWT.V_SCROLL | SWT.BORDER);
viewer.setCheckStateProvider(checkStateProvider);
viewer.addCheckStateListener(new ICheckStateListener() {
@Override
public void checkStateChanged(CheckStateChangedEvent event) {
if (((ManifestItem) event.getElement()).isBuiltIn()) {
viewer.setChecked(event.getElement(), !event.getChecked());
} else {
((ManifestItem) event.getElement()).setOptional(!event.getChecked());
fireDependenciesChangedListener();
}
}
});
return viewer;
}
/**
* Creates the checkbox tree and list for selecting resources.
* @param parent
* the parent control
*/
protected final void createResourcesGroup(Composite parent) {
// create the input element, which has the root resource
// as its only child
List input = new ArrayList();
IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
for (int i = 0; i < projects.length; i++) {
if (projects[i].isOpen()) {
input.add(projects[i]);
}
}
this.resourceGroup = new ResourceTreeAndListGroup(parent, input, getResourceProvider(IResource.FOLDER
| IResource.PROJECT), WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider(),
getResourceProvider(IResource.FILE), WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider(),
SWT.NONE, DialogUtil.inRegularFontMode(parent));
ICheckStateListener listener = new ICheckStateListener() {
public void checkStateChanged(CheckStateChangedEvent event) {
updateWidgetEnablements();
}
};
this.resourceGroup.addCheckStateListener(listener);
}
private void createTreeViewer(Composite treeComp) {
treeViewer = new ContainerCheckedTreeViewer(treeComp);
treeViewer.addCheckStateListener(new ICheckStateListener() {
@Override
public void checkStateChanged(CheckStateChangedEvent event) {
processSelectionChange();
}
});
treeViewer.setContentProvider(classProvider);
treeViewer.setLabelProvider(labelProvider);
treeViewer.setAutoExpandLevel(2);
// treeViewer.addFilter(new MethodViewerFilter());
treeViewer.setUseHashlookup(true);
treeViewer.setInput("");
treeViewer.setSelection(new StructuredSelection(treeViewer.getExpandedElements()[0]));
}
private void createTreeViewer(Composite treeComp) {
treeViewer = new ContainerCheckedTreeViewer(treeComp);
treeViewer.addCheckStateListener(new ICheckStateListener() {
@Override
public void checkStateChanged(CheckStateChangedEvent event) {
getRequestProcsseor().setCheckedElements(treeViewer.getCheckedElements());
GeneratePropertiesPage.this.getWizard().getContainer().updateButtons();
}
});
treeViewer.setContentProvider(classProvider);
treeViewer.setLabelProvider(labelProvider);
treeViewer.setAutoExpandLevel(2);
treeViewer.setInput("");
treeViewer.setSelection(new StructuredSelection(treeViewer.getExpandedElements()[0]));
}
private void createTreeViewer(Composite treeComp) {
treeViewer = new ContainerCheckedTreeViewer(treeComp);
treeViewer.addCheckStateListener(new ICheckStateListener() {
@Override
public void checkStateChanged(CheckStateChangedEvent event) {
getRequestProcessor().setCheckedElements(treeViewer.getCheckedElements());
ConstructorFieldPage.this.getWizard().getContainer().updateButtons();
}
});
treeViewer.setContentProvider(classProvider);
treeViewer.setLabelProvider(labelProvider);
treeViewer.setAutoExpandLevel(2);
treeViewer.setInput("");
treeViewer.setSelection(new StructuredSelection(treeViewer.getExpandedElements()[0]));
}
@Override
public void checkStateChanged(final CheckStateChangedEvent event) {
final Object element = event.getElement();
if (element instanceof MainProcess) {
viewer.setGrayChecked(element, false);
viewer.setChecked(element, event.getChecked());
for (final AbstractProcess proc : ModelHelper.getAllProcesses((Element) element)) {
viewer.setChecked(proc, event.getChecked());
if (event.getChecked()) {
selectedProcess.add(proc);
} else {
selectedProcess.remove(proc);
}
}
}
if (element instanceof Pool) {
final MainProcess diagram = ModelHelper.getMainProcess((EObject) element);
viewer.setGrayChecked(diagram, false);
if (isGrayed(diagram)) {
viewer.setGrayChecked(diagram, true);
} else {
viewer.setChecked(diagram, event.getChecked());
}
}
}
@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);
final CheckboxTreeViewer viewer = aCheckBoxTreeViewer(Lists.newArrayList(rootMapping));
checkedStateManager.checkStateChanged(new CheckStateChangedEvent(viewer, childMapping, true));
assertThat(viewer.getChecked(rootMapping)).isTrue();
assertThat(rootMapping.isGenerated()).isTrue();
}
@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);
final CheckboxTreeViewer viewer = aCheckBoxTreeViewer(Lists.newArrayList(rootMapping));
checkedStateManager.checkStateChanged(new CheckStateChangedEvent(viewer, childMapping, false));
assertThat(viewer.getChecked(rootMapping)).isFalse();
assertThat(rootMapping.isGenerated()).isFalse();
}
@Test
public void should_not_deselectParent_IfNoChildIsSelected() {
final FieldToContractInputMappingViewerCheckStateManager checkedStateManager = new FieldToContractInputMappingViewerCheckStateManager();
final FieldToContractInputMapping rootMapping = new RelationFieldToContractInputMapping(
Mockito.mock(RelationField.class));
final SimpleFieldToContractInputMapping childMapping1 = new SimpleFieldToContractInputMapping(
Mockito.mock(SimpleField.class));
final SimpleFieldToContractInputMapping childMapping2 = new SimpleFieldToContractInputMapping(
Mockito.mock(SimpleField.class));
rootMapping.addChild(childMapping1);
rootMapping.addChild(childMapping2);
final CheckboxTreeViewer viewer = aCheckBoxTreeViewer(Lists.newArrayList(rootMapping));
checkedStateManager.checkStateChanged(new CheckStateChangedEvent(viewer, childMapping2, true));
checkedStateManager.checkStateChanged(new CheckStateChangedEvent(viewer, childMapping1, false));
assertThat(viewer.getChecked(rootMapping)).isTrue();
}
@Test
public void should_regeneratedAttributes_whenReselectParent() {
final FieldToContractInputMappingViewerCheckStateManager checkedStateManager = new FieldToContractInputMappingViewerCheckStateManager();
final FieldToContractInputMapping rootMapping = new RelationFieldToContractInputMapping(
Mockito.mock(RelationField.class));
final SimpleFieldToContractInputMapping childMapping1 = new SimpleFieldToContractInputMapping(
Mockito.mock(SimpleField.class));
final SimpleFieldToContractInputMapping childMapping2 = new SimpleFieldToContractInputMapping(
Mockito.mock(SimpleField.class));
rootMapping.addChild(childMapping1);
rootMapping.addChild(childMapping2);
final CheckboxTreeViewer viewer = aCheckBoxTreeViewer(Lists.newArrayList(rootMapping));
checkedStateManager.checkStateChanged(new CheckStateChangedEvent(viewer, rootMapping, false));
assertThat(rootMapping.isGenerated()).isFalse();
assertThat(childMapping1.isGenerated()).isFalse();
assertThat(childMapping2.isGenerated()).isFalse();
checkedStateManager.checkStateChanged(new CheckStateChangedEvent(viewer, rootMapping, true));
assertThat(rootMapping.isGenerated()).isTrue();
assertThat(childMapping1.isGenerated()).isTrue();
assertThat(childMapping2.isGenerated()).isTrue();
}
private void rememberLeafCheckState(CheckStateChangedEvent event){
Object[] checked = laborViewer.getCheckedElements();
if (checkState == null) {
checkState = new ArrayList<GroupItem>(checked.length);
}
for (int i = 0; i < checked.length; i++) {
if (!laborViewer.getGrayed(checked[i])) {
if (!checkState.contains(checked[i])) {
if (checked[i] instanceof GroupItem) {
checkState.add((GroupItem) checked[i]);
} else
if ((checked[i] instanceof Group) && (event.getElement() == checked[i])) {
checkState.addAll(((Group) checked[i]).getItems());
}
}
}
}
}
@Override
public void checkStateChanged(CheckStateChangedEvent event) {
Object element = event.getElement();
if (element instanceof IFilter) {
IFilter filter = (IFilter) element;
if (!filter.isReadonly()) {
filter.setEnabled(event.getChecked());
} else {
event.getCheckable().setChecked(event.getElement(), true);
}
}
}
@Override
public void checkStateChanged(CheckStateChangedEvent event) {
if (event.getElement() instanceof FileMatchPattern) {
FileMatchPattern pattern = (FileMatchPattern) event.getElement();
pattern.setIsIncludePattern(event.getChecked());
mPatternViewer.refresh();
updateMatchView();
}
}
private void changeEnabledState(CheckStateChangedEvent event) {
if (event.getElement() instanceof FileSet) {
FileSet fileSet = (FileSet) event.getElement();
fileSet.setEnabled(event.getChecked());
mViewer.refresh();
}
}
/**
* Creates the tree viewer.
*
* @param parent
* the parent composite
* @return the tree viewer
*/
protected CheckboxTreeViewer createTreeViewer(Composite parent) {
mViewer = new CheckboxTreeViewer(parent, SWT.BORDER);
mViewer.setContentProvider(mContentProvider);
mViewer.setLabelProvider(mLabelProvider);
mViewer.addCheckStateListener(new ICheckStateListener() {
@Override
public void checkStateChanged(CheckStateChangedEvent event) {
IContainer element = (IContainer) event.getElement();
if (isRecursivelyExcludeSubTree() && !isGrayed(element)) {
setSubElementsGrayedChecked(element, event.getChecked());
} else if (isRecursivelyExcludeSubTree() && isGrayed(element)) {
mViewer.setGrayChecked(element, true);
}
}
});
mViewer.setInput(mInput);
mViewer.setCheckedElements(getInitialElementSelections().toArray());
adaptRecurseBehaviour();
if (mExpandedElements != null) {
mViewer.setExpandedElements(mExpandedElements);
}
return mViewer;
}
/**
* Notifies any check state listeners that a check state changed has been received. Only listeners
* registered at the time this method is called are notified.
*
* @param event
* a check state changed event
* @see ICheckStateListener#checkStateChanged
*/
private void fireCheckStateChanged(final CheckStateChangedEvent event) {
Object[] array = checkStateListeners.getListeners();
for (int i = 0; i < array.length; i++) {
final ICheckStateListener l = (ICheckStateListener) array[i];
SafeRunnable.run(new SafeRunnable() {
@Override
public void run() {
l.checkStateChanged(event);
}
});
}
}
@Override
public void handleSelect(SelectionEvent event) {
if (event.detail == SWT.CHECK) {
super.handleSelect(event); // this will change the current
// selection
TableItem item = (TableItem) event.item;
Object data = item.getData();
if (data != null) {
fireCheckStateChanged(new CheckStateChangedEvent(this, data, item.getChecked()));
}
} else {
super.handleSelect(event);
}
}
@Override
public void checkStateChanged(CheckStateChangedEvent event) {
viewer.getControl().setRedraw(false);
Node element = (Node) event.getElement();
viewer.setGrayed(element, false);
updateChildren(element, event.getChecked());
updateParent(element);
if (element.data != null) {
updateSelection(element, event.getChecked());
}
viewer.getControl().setRedraw(true);
}
@Override
public void checkStateChanged(CheckStateChangedEvent event) {
Object element = event.getElement();
boolean checked = event.getChecked();
elementChecked(element, checked);
updateTextIds();
}