org.eclipse.swt.widgets.TreeItem#setChecked ( )源码实例Demo

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

/**
 * Update the parent and children nodes after a checkstate change (e.g. recalculation of the grayed state, automatic
 * checking/unchecking of children)
 *
 * @param element
 *          the element that was checked/unchecked
 */
protected void doCheckStateChanged(final Object element) {
  final Widget item = findItem(element);
  if (item instanceof TreeItem) {
    final TreeItem treeItem = (TreeItem) item;
    updateChildrenItems(treeItem);

    final Item[] children = getChildren(item);
    if (children.length > 0) {
      boolean containsChecked = false;
      boolean containsUnchecked = false;
      for (final Item element2 : children) {
        final TreeItem curr = (TreeItem) element2;
        containsChecked |= curr.getChecked();
        containsUnchecked |= (!curr.getChecked() || curr.getGrayed());
      }
      treeItem.setChecked(containsChecked);
      treeItem.setGrayed(containsChecked && containsUnchecked);
    }
    updateParentItems(treeItem.getParentItem());
  }
}
 
/**
 * Updates the check / gray state of all parent items.
 *
 * @param item
 *          the item
 */
private void updateParentItems(final TreeItem item) {
  if (item != null) {
    final Item[] children = getChildren(item);
    boolean containsChecked = false;
    boolean containsUnchecked = false;
    for (final Item element : children) {
      final TreeItem curr = (TreeItem) element;
      containsChecked |= curr.getChecked();
      containsUnchecked |= (!curr.getChecked() || curr.getGrayed());
    }
    item.setChecked(containsChecked);
    item.setGrayed(containsChecked && containsUnchecked);
    updateParentItems(item.getParentItem());
  }
}
 
源代码3 项目: dsl-devkit   文件: AbstractValidPreferencePage.java
/**
 * Initializes a given TreeViewer "widget" item according to the tree viewer
 * content provider model.
 *
 * @param item
 *          the item to initialize
 */
private void initialize(final TreeItem item) {
  boolean containsChecked = false;
  boolean containsUnchecked = false;

  if (item.getData() instanceof PreferenceRule) {
    if (((PreferenceRule) item.getData()).isOptional()) {
      item.setChecked(!getPreferenceStore().getBoolean(getPreferenceKey(((PreferenceRule) item.getData()))));
    } else {
      item.setGrayed(true);
      item.setChecked(true);
    }
  } else {
    for (final TreeItem child : item.getItems()) {
      initialize(child);
      containsChecked |= child.getChecked();
      containsUnchecked |= (!child.getChecked() || child.getGrayed());
    }
    item.setChecked(containsChecked);
    item.setGrayed(containsChecked && containsUnchecked);
  }
}
 
/**
 * Updates the check / gray state of all parent items
 */
private void updateParentItems(TreeItem item) {
	if (item != null) {
		Item[] children= getChildren(item);
		boolean containsChecked= false;
		boolean containsUnchecked= false;
		for (int i= 0; i < children.length; i++) {
			TreeItem curr= (TreeItem) children[i];
			containsChecked |= curr.getChecked();
			containsUnchecked |= (!curr.getChecked() || curr.getGrayed());
		}
		item.setChecked(containsChecked);
		item.setGrayed(containsChecked && containsUnchecked);
		updateParentItems(item.getParentItem());
	}
}
 
源代码5 项目: txtUML   文件: VisualizeTxtUMLPage.java
private void checkItems(TreeItem item, boolean checked) {
	item.setGrayed(false);
	item.setChecked(checked);
	TreeItem[] items = item.getItems();
	for (int i = 0; i < items.length; ++i) {
		TreeItem child = items[i];
		child.setChecked(checked);
		IType childData = (IType) child.getData();
		if (checked) {
			if (!txtUMLLayout.contains(childData)) {
				txtUMLLayout.add(childData);
			}
		} else {
			txtUMLLayout.remove(childData);
		}
	}
}
 
源代码6 项目: Rel   文件: FeedbackDialog.java
protected void checkPath(TreeItem item, boolean checked, boolean grayed) {
    if (item == null) 
    	return;
    if (grayed) {
        checked = true;
    } else {
        int index = 0;
        TreeItem[] items = item.getItems();
        while (index < items.length) {
            TreeItem child = items[index];
            if (child.getGrayed() || checked != child.getChecked()) {
                checked = grayed = true;
                break;
            }
            index++;
        }
    }
    item.setChecked(checked);
    item.setGrayed(grayed);
    checkPath(item.getParentItem(), checked, grayed);
}
 
源代码7 项目: birt   文件: LevelViewDialog.java
private void init( )
{
	if ( dimension != null )
	{
		levelViewer.setInput( dimension );
		levelViewer.expandToLevel( dimension.getDefaultHierarchy( )
				.getContentCount( IHierarchyModel.LEVELS_PROP ) );
	}

	if ( showLevels == null || showLevels.size( ) == 0 )
		return;
	TreeItem item = levelViewer.getTree( ).getItem( 0 );
	while ( item != null )
	{
		LevelHandle level = (LevelHandle) item.getData( );
		if ( showLevels.contains( level ) )
		{
			item.setChecked( true );
		}
		if ( item.getItemCount( ) > 0 )
			item = item.getItem( 0 );
		else
			item = null;
	}

}
 
源代码8 项目: birt   文件: GroupDialog.java
private void checkItem( TreeItem item )
{
	if ( item != null )
	{
		item.setChecked( !item.getChecked( ) );
		levelViewer.getTree( ).setSelection( item );
		if ( item.getChecked( ) )
		{
			if ( !dateTypeSelectedList.contains( item.getData( ) ) )
			{
				dateTypeSelectedList.add( item.getData( ) );
			}

		}
		else
		{
			if ( dateTypeSelectedList.contains( item.getData( ) ) )
				dateTypeSelectedList.remove( item.getData( ) );
		}
		checkOKButtonStatus( );
	}
}
 
源代码9 项目: nebula   文件: XCheckedFilteredTree.java
private void restoreChecked(TreeItem treeItems[]) {
   for (TreeItem treeItem : treeItems) {
      if (treeItem.getChecked() && !checked.contains(treeItem.getData())) {
         treeItem.setChecked(false);
      } else if (!treeItem.getChecked() && checked.contains(treeItem.getData())) {
         treeItem.setChecked(true);
      }
      restoreChecked(treeItem.getItems());
   }
}
 
源代码10 项目: logbook   文件: SelectVisibleColumnDialog.java
/**
 * Create contents of the dialog.
 */
private void createContents() {
    this.shell = new Shell(this.getParent(), SWT.SHELL_TRIM | SWT.PRIMARY_MODAL);
    this.shell.setSize(300, 275);
    this.shell.setText("列の表示非表示");
    this.shell.setLayout(new FillLayout(SWT.HORIZONTAL));

    // ヘッダー
    String[] header = Stream.of(this.table.getColumns()).map(c -> c.getText()).toArray(String[]::new);
    // カラム設定を取得
    boolean[] visibles = AppConfig.get().getVisibleColumnMap().get(this.clazz.getName());
    if ((visibles == null) || (visibles.length != header.length)) {
        visibles = new boolean[header.length];
        Arrays.fill(visibles, true);
        AppConfig.get().getVisibleColumnMap().put(this.clazz.getName(), visibles);
    }

    Tree tree = new Tree(this.shell, SWT.BORDER | SWT.CHECK);

    for (int i = 1; i < header.length; i++) {
        TreeItem column = new TreeItem(tree, SWT.CHECK);
        column.setText(header[i]);
        column.setChecked(visibles[i]);
        column.setExpanded(true);
    }
    this.shell.addShellListener(new TreeShellAdapter(tree, visibles));
}
 
/**
 * Updates the check state of all created children
 */	
private void updateChildrenItems(TreeItem parent) {
	Item[] children= getChildren(parent);
	boolean state= parent.getChecked();
	for (int i= 0; i < children.length; i++) {
		TreeItem curr= (TreeItem) children[i];
		if (curr.getData() != null && ((curr.getChecked() != state) || curr.getGrayed())) {
			curr.setChecked(state);
			curr.setGrayed(false);
			updateChildrenItems(curr);
		}
	}
}
 
源代码12 项目: txtUML   文件: VisualizeTxtUMLPage.java
private void updateParentCheck(TreeItem parentItem) {
	boolean isAnyChecked = Stream.of(parentItem.getItems()).anyMatch(child -> child.getChecked());
	boolean isAllChecked = Stream.of(parentItem.getItems()).allMatch(child -> child.getChecked());

	if (isAllChecked) {
		parentItem.setGrayed(false);
		parentItem.setChecked(true);
	} else if (isAnyChecked) {
		parentItem.setChecked(true);
		parentItem.setGrayed(true);
	} else {
		parentItem.setGrayed(false);
		parentItem.setChecked(false);
	}
}
 
源代码13 项目: Rel   文件: FeedbackDialog.java
protected void checkItems(TreeItem item, boolean checked) {
    item.setGrayed(false);
    item.setChecked(checked);
    TreeItem[] items = item.getItems();
    for (int i = 0; i < items.length; i++) {
        checkItems(items[i], checked);
    }
}
 
源代码14 项目: IndentGuide   文件: IndentGuidePreferencePage.java
private void checkContentType(final TreeItem item, final String[] types) {
  for (final TreeItem child : item.getItems()) {
    checkContentType(child, types);
  }
  final String id = (String) item.getData();
  for (final String type : types) {
    if (id.equals(type)) {
      item.setChecked(true);
      break;
    }
  }
}
 
源代码15 项目: IndentGuide   文件: IndentGuidePreferencePage.java
private void checkItems(final TreeItem item, final boolean checked) {
  item.setChecked(checked);
  final TreeItem[] items = item.getItems();
  for (final TreeItem item2 : items) {
    checkItems(item2, checked);
  }
}
 
源代码16 项目: olca-app   文件: CommitDiffViewer.java
private void setChecked(Set<FileReference> ids, TreeItem[] items) {
	for (TreeItem item : items) {
		DiffNode node = (DiffNode) item.getData();
		if (node != null && !node.isModelTypeNode()) {
			FileReference ref = node.getContent().getDataset().asFileReference();
			// null is used as hack to select all
			if (ids == null || ids.contains(ref))
				item.setChecked(true);
		}
		setChecked(ids, item.getItems());
	}
}
 
源代码17 项目: Rel   文件: FeedbackDialog.java
private void setupTreeItem(TreeItem item, String text) {
	item.setText(text);
	item.setChecked(true);
	item.setExpanded(true);
}
 
源代码18 项目: birt   文件: GroupDialog.java
protected void initDialog( )
{
	if ( hierarchy != null )
	{
		nameText.setText( hierarchy.getContainer( ).getName( ) );
	}
	else
	{
		DimensionHandle dimension = DesignElementFactory.getInstance( )
				.newTabularDimension( null );
		nameText.setText( dimension.getName( ) );
	}
	if ( dimension != null )
	{
		if ( isTimeType( dimension ) )
		{
			dateButton.setSelection( true );
			handleButtonSelection( dateButton );
		}
		else
		{
			regularButton.setSelection( true );
			handleButtonSelection( regularButton );
		}
	}
	else
	{
		dateButton.setSelection( true );
		handleButtonSelection( dateButton );
	}
	if ( dimension != null )
	{
		WidgetUtil.setExcludeGridData( regularButton, true );
		WidgetUtil.setExcludeGridData( dateButton, true );
	}
	if ( dimension != null && !isTimeType( dimension ) )
		levelViewer.getTree( ).setVisible( false );

	levelViewer.setInput( getDateTypeNames( getLevelTypesByDateType( ) ) );
	levelViewer.expandAll( );
	if ( levelViewer.getTree( ).getItemCount( ) > 0 )
	{
		TreeItem topNode = levelViewer.getTree( ).getItem( 0 );
		do
		{
			if ( levelList.contains( topNode.getData( ) ) )
				topNode.setChecked( true );
			topNode = topNode.getItem( 0 );
		} while ( topNode.getItemCount( ) > 0 );
		if ( levelList.contains( topNode.getData( ) ) )
			topNode.setChecked( true );
	}
	checkOKButtonStatus( );
}