當前位置: 首頁>>代碼示例>>Java>>正文


Java CheckboxTreeViewer.setGrayed方法代碼示例

本文整理匯總了Java中org.eclipse.jface.viewers.CheckboxTreeViewer.setGrayed方法的典型用法代碼示例。如果您正苦於以下問題:Java CheckboxTreeViewer.setGrayed方法的具體用法?Java CheckboxTreeViewer.setGrayed怎麽用?Java CheckboxTreeViewer.setGrayed使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.eclipse.jface.viewers.CheckboxTreeViewer的用法示例。


在下文中一共展示了CheckboxTreeViewer.setGrayed方法的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: setChecked

import org.eclipse.jface.viewers.CheckboxTreeViewer; //導入方法依賴的package包/類
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));
}
 
開發者ID:bazelbuild,項目名稱:eclipse,代碼行數:20,代碼來源:DirectoryTreeContentProvider.java

示例2: setGrayed

import org.eclipse.jface.viewers.CheckboxTreeViewer; //導入方法依賴的package包/類
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));
}
 
開發者ID:bazelbuild,項目名稱:eclipse,代碼行數:23,代碼來源:DirectoryTreeContentProvider.java

示例3: updateParentState

import org.eclipse.jface.viewers.CheckboxTreeViewer; //導入方法依賴的package包/類
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;
	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);
}
 
開發者ID:subclipse,項目名稱:subclipse,代碼行數:21,代碼來源:ResourceSelectionTree.java

示例4: updateParentState

import org.eclipse.jface.viewers.CheckboxTreeViewer; //導入方法依賴的package包/類
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);
}
 
開發者ID:apicloudcom,項目名稱:APICloud-Studio,代碼行數:22,代碼來源:ResourceSelectionTree.java

示例5: checkStateChanged

import org.eclipse.jface.viewers.CheckboxTreeViewer; //導入方法依賴的package包/類
@Override
public void checkStateChanged(CheckStateChangedEvent event) {        
    CheckboxTreeViewer packagesTreeViewer = (CheckboxTreeViewer) event.getSource();        
    packagesTreeViewer.setSubtreeChecked(event.getElement(), event.getChecked());                
    
    for (IPackageFragment parentPackage : getParentPackages(((IPackageFragment) event.getElement()))) {            
        int countOfCheckedSubpackages = getCountOfCheckedSubpackages(parentPackage, packagesTreeViewer);
        
        if (countOfCheckedSubpackages == getAllSubPackages(parentPackage).size()) {                
            packagesTreeViewer.setGrayed(parentPackage, false);
            packagesTreeViewer.setChecked(parentPackage, true);
        } else if (countOfCheckedSubpackages > 0) {
            packagesTreeViewer.setChecked(parentPackage, true);
            packagesTreeViewer.setGrayed(parentPackage, true);
        } else {
            packagesTreeViewer.setChecked(parentPackage, false);
            packagesTreeViewer.setGrayed(parentPackage, false);
        }
    }
}
 
開發者ID:kopl,項目名稱:SPLevo,代碼行數:21,代碼來源:PackagesCheckStateListener.java

示例6: expressionStateChanged

import org.eclipse.jface.viewers.CheckboxTreeViewer; //導入方法依賴的package包/類
public static void expressionStateChanged(Expression expression, CheckboxTreeViewer checkboxTreeViewer, boolean state) {
  checkboxTreeViewer.setChecked(expression, state);
  expression.setEnabled(state);

  ProfilesContentProvider contentProvider = (ProfilesContentProvider) checkboxTreeViewer.getContentProvider();
  Profile profile = (Profile) contentProvider.getParent(expression);
  if (Iterables.all(profile.getExpressions(), new EnabledExpressionPredicate())) {
    checkboxTreeViewer.setGrayed(profile, false);
    checkboxTreeViewer.setChecked(profile, true);
  }
  else if (Iterables.any(profile.getExpressions(), new EnabledExpressionPredicate())) {
    checkboxTreeViewer.setGrayChecked(profile, true);
  }
  else {
    checkboxTreeViewer.setChecked(profile, false);
  }
}
 
開發者ID:agusevas,項目名稱:logan,代碼行數:18,代碼來源:CheckStateListener.java

示例7: profileStateChanged

import org.eclipse.jface.viewers.CheckboxTreeViewer; //導入方法依賴的package包/類
public static void profileStateChanged(Profile profile, CheckboxTreeViewer checkboxTreeViewer, boolean state) {
  checkboxTreeViewer.setSubtreeChecked(profile, state);
  checkboxTreeViewer.setGrayed(profile, false);
  List<Expression> expressions = profile.getExpressions();
  for (Expression expression : expressions) {
    expression.setEnabled(state);
  }
}
 
開發者ID:agusevas,項目名稱:logan,代碼行數:9,代碼來源:CheckStateListener.java


注:本文中的org.eclipse.jface.viewers.CheckboxTreeViewer.setGrayed方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。