org.eclipse.jface.viewers.CheckboxTreeViewer#setChecked ( )源码实例Demo

下面列出了org.eclipse.jface.viewers.CheckboxTreeViewer#setChecked ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: eclipse   文件: DirectoryTreeContentProvider.java
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;
  }
  tv.setChecked(element, isChecked);
  tv.setGrayed(element, false);
  if (isChecked) {
    tv.setSubtreeChecked(element, true);
  } else {
    tv.setSubtreeChecked(element, false);
  }
  setGrayed(tv, provider.getParent(element));
}
 
源代码2 项目: eclipse   文件: DirectoryTreeContentProvider.java
private static void setGrayed(CheckboxTreeViewer tv, Object element) {
  if (element == null) {
    return;
  }
  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));
}
 
源代码3 项目: APICloud-Studio   文件: ResourceSelectionTree.java
private void updateParentState(IResource child, boolean baseChildState) {
	if (mode == MODE_FLAT || child == null || child.getParent() == null || resourceList.contains(child.getParent())) {
		return;
	}
	CheckboxTreeViewer checkboxTreeViewer = (CheckboxTreeViewer)treeViewer;
	if (child == null) return;
	Object parent = resourceSelectionContentProvider.getParent(child);
	if (parent == null) return;
	boolean allSameState = true;
	Object[] children = null;
	children = resourceSelectionContentProvider.getChildren(parent);
	for (int i = children.length - 1; i >= 0; i--) {
		if (checkboxTreeViewer.getChecked(children[i]) != baseChildState || checkboxTreeViewer.getGrayed(children[i])) {
		   allSameState = false;
	       break;
		}
	}
	checkboxTreeViewer.setGrayed(parent, !allSameState);
	checkboxTreeViewer.setChecked(parent, !allSameState || baseChildState);
	updateParentState((IResource)parent, baseChildState);
}
 
/**
 * A version of setSubtreeChecked that is aware of isEnabled
 *
 * @param viewer
 *            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);
            }
        }
    }
}
 
protected void newFolderButtonPressed() {
	Object createdFolder= createFolder(fSelectedContainer);
	if (createdFolder != null) {
		CheckboxTreeViewer treeViewer= fViewer;
		treeViewer.refresh(fSelectedContainer);
		treeViewer.reveal(createdFolder);
		treeViewer.setChecked(createdFolder, true);
		treeViewer.setSelection(new StructuredSelection(createdFolder));
		updateOKStatus();
	}
}
 
private void deselectParentIfNoChildSelected(CheckStateChangedEvent event,
        FieldToContractInputMapping mapping,
        CheckboxTreeViewer checkboxTreeViewer) {
    FieldToContractInputMapping parentMapping = mapping.getParent();
    if (parentMapping != null && !event.getChecked() && hasNoChildGenerated(parentMapping)) {
        checkboxTreeViewer.setChecked(parentMapping, false);
        parentMapping.setGenerated(false);
        setGeneratedStatePersistenceIdChild(parentMapping, false);
        deselectParentIfNoChildSelected(event, parentMapping, checkboxTreeViewer);
    }
}
 
private void selectParentIfChildIsSelected(CheckStateChangedEvent event, FieldToContractInputMapping mapping,
        CheckboxTreeViewer checkboxTreeViewer) {
    if (event.getChecked()) {
        final FieldToContractInputMapping parentMapping = mapping.getParent();
        if (parentMapping != null) {
            checkboxTreeViewer.setChecked(parentMapping, true);
            parentMapping.setGenerated(true);
            setGeneratedStatePersistenceIdChild(parentMapping, true);
            selectParentIfChildIsSelected(event, parentMapping, checkboxTreeViewer);
        }
    }
}
 
源代码8 项目: olca-app   文件: CommitDiffViewer.java
private void setChecked(CheckboxTreeViewer viewer, DiffNode node, boolean value, boolean selectChildren) {
	DiffResult result = node.getContent();
	if (node.isModelTypeNode() || !result.local.tracked || result.noAction()) {
		viewer.setChecked(node, false);
	} else if (value) {
		selected.add(node);
	} else if (lockNewElements && result.local.type == DiffType.NEW) {
		viewer.setChecked(node, true);
	} else {
		selected.remove(node);
	}
}