Example usage for org.eclipse.jface.viewers CheckboxTreeViewer setSubtreeChecked

List of usage examples for org.eclipse.jface.viewers CheckboxTreeViewer setSubtreeChecked

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers CheckboxTreeViewer setSubtreeChecked.

Prototype

public boolean setSubtreeChecked(Object element, boolean state) 

Source Link

Document

Sets the checked state for the given element and its visible children in this viewer.

Usage

From source file:com.arcbees.gwtp.plugin.core.project.AddFeaturesPage.java

License:Apache License

@Override
public void createControl(Composite parent) {
    Composite container = new Composite(parent, SWT.NULL);

    setControl(container);//from  www  . j  a v a2s .co m
    container.setLayout(new GridLayout(1, false));

    final CheckboxTreeViewer checkboxTreeViewer = new CheckboxTreeViewer(container, SWT.BORDER);
    checkboxTreeViewer.setAutoExpandLevel(-1);
    checkboxTreeViewer.setExpandPreCheckFilters(false);
    Tree tree = checkboxTreeViewer.getTree();
    tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    checkboxTreeViewer.setContentProvider(new FeatureContentProvider());
    checkboxTreeViewer.setLabelProvider(new FeatureLabelProvider());
    checkboxTreeViewer.setCheckStateProvider(new FeatureCheckStateProvider());
    checkboxTreeViewer.setInput("init");

    checkboxTreeViewer.addCheckStateListener(new ICheckStateListener() {
        @SuppressWarnings("unchecked")
        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            Node<Feature> featureNode = ((Node<Feature>) event.getElement());
            if (!event.getChecked()) {
                checkboxTreeViewer.setSubtreeChecked(event.getElement(), false);
                deselectFeatureNode(featureNode);
            } else {
                featureNode.getData().setSelected(true);
            }
            FeatureConfigPage.get().showSelectedFeatures();
        }
    });
}

From source file:com.clustercontrol.composite.FacilityTreeComposite.java

License:Open Source License

/**
 * ?????/*from   w w  w .  j  av  a 2 s . co m*/
 * 
 * ????protected
 */
protected void createContents() {

    // ??
    GridLayout layout = new GridLayout(1, true);
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    this.setLayout(layout);

    // ?
    GridData layoutData = new GridData();
    layoutData.horizontalAlignment = GridData.FILL;
    layoutData.verticalAlignment = GridData.FILL;
    layoutData.grabExcessHorizontalSpace = true;
    layoutData.grabExcessVerticalSpace = true;

    // Add search bar
    Composite compSearch = new ScopeTreeSearchBarComposite(this, SWT.NONE, enableKeyPress);
    WidgetTestUtil.setTestId(this, "search", compSearch);
    compSearch.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    // ?
    Tree tree = null;

    // ?
    if (checkflg) {
        tree = new Tree(this, SWT.MULTI | SWT.BORDER | SWT.CHECK);
        this.treeViewer = new CheckboxTreeViewer(tree);
    } else {
        tree = new Tree(this, SWT.MULTI | SWT.BORDER);
        this.treeViewer = new TreeViewer(tree);
    }
    WidgetTestUtil.setTestId(this, null, tree);
    tree.setLayoutData(layoutData);

    // 
    this.treeViewer.setContentProvider(new FacilityTreeContentProvider());
    this.treeViewer.setLabelProvider(new FacilityTreeLabelProvider());
    this.treeViewer.setSorter(new FacilityTreeViewerSorter());

    // ??
    this.treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            StructuredSelection selection = (StructuredSelection) event.getSelection();

            selectItem = (FacilityTreeItem) selection.getFirstElement();
            selectionList = selection.toList();

            if (selectItem != null) {
                subScopeNumber = selectItem.getChildren().size();
            }
        }
    });
    if (checkflg) {
        // ??
        CheckboxTreeViewer checkboxTreeViewer = (CheckboxTreeViewer) treeViewer;
        checkboxTreeViewer.addCheckStateListener(new ICheckStateListener() {

            public void checkStateChanged(CheckStateChangedEvent event) {
                CheckboxTreeViewer checkboxTreeViewer = (CheckboxTreeViewer) treeViewer;
                // ???????
                if (event.getChecked()) {
                    checkboxTreeViewer.setSubtreeChecked(event.getElement(), true);
                }
                if (!event.getChecked()) {
                    checkboxTreeViewer.setSubtreeChecked(event.getElement(), false);
                    Object object = event.getElement();
                    if (object instanceof FacilityTreeItem) {
                        FacilityTreeItem item = (FacilityTreeItem) event.getElement();
                        setParentCheck(checkboxTreeViewer, item, false);
                    }
                }
                // ????
                selectFacilityList = getCheckedTreeInfo();
            }
        });
    }
    //???
    final FacilityTreeComposite composite = this;
    if (topicRefresh) {
        FacilityTreeCache.addComposite(composite);
    }

    this.addDisposeListener(new DisposeListener() {
        @Override
        public void widgetDisposed(DisposeEvent e) {
            FacilityTreeCache.delComposite(composite);
        }
    });

    // ???
    this.update();
}

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;/* ww  w.ja  v  a 2  s .  c o  m*/
    }
    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.windowtester.test.locator.swt.shells.CheckFileTree.java

License:Open Source License

/**
 * Creates the main window's contents/*w w  w.  j a  v a2  s  .  c o m*/
 * 
 * @param parent
 *            the main window
 * @return Control
 */
protected Control createContents(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayout(new GridLayout(1, false));

    // Add a checkbox to toggle whether the labels preserve case
    Button preserveCase = new Button(composite, SWT.CHECK);
    preserveCase.setText("&Preserve case");

    // Create the tree viewer to display the file tree
    final CheckboxTreeViewer tv = new CheckboxTreeViewer(composite);
    tv.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
    tv.setContentProvider(new FileTreeContentProvider());
    tv.setLabelProvider(new FileTreeLabelProvider());
    tv.setInput("root"); // pass a non-null that will be ignored

    // When user checks the checkbox, toggle the preserve case attribute
    // of the label provider
    preserveCase.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent event) {
            boolean preserveCase = ((Button) event.widget).getSelection();
            FileTreeLabelProvider ftlp = (FileTreeLabelProvider) tv.getLabelProvider();
            ftlp.setPreserveCase(preserveCase);
        }
    });

    // When user checks a checkbox in the tree, check all its children
    tv.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            // If the item is checked . . .
            if (event.getChecked()) {
                // . . . check all its children
                tv.setSubtreeChecked(event.getElement(), true);
            }
        }
    });
    return composite;
}

From source file:dynamicrefactoring.interfaz.wizard.classificationscombo.ClassificationsCheckBoxTreeListener.java

License:Open Source License

/**
 * Evento de cambio de estado.//from   ww  w .j ava2  s .c om
 * 
 * Si el evento corresponde a una clasificacion
 * {@link dealWithParentCheckStateChange} se ocupa de tratarlo.
 * 
 * Si el evento corresponde a una categoria solo permitira marcar una si
 * su padre no permite refactorizaciones que pertenecen a multiples
 * categorias (refact. multicategoria).
 * 
 * @param event evento de cambio
 */
@Override
public void checkStateChanged(CheckStateChangedEvent event) {
    Object elemento = event.getElement();
    CheckboxTreeViewer viewer = (CheckboxTreeViewer) event.getSource();
    if (PickCategoryTree.isParentElement(elemento)) {
        dealWithParentCheckStateChange(event, (Classification) elemento, viewer);
    } else if (PickCategoryTree.isChildElement(elemento)
            && !PickCategoryTree.getParent(elemento, this.availableClassifications).isMultiCategory()
            && event.getChecked()) {
        viewer.setSubtreeChecked(PickCategoryTree.getParent(elemento, this.availableClassifications), false);
        viewer.setChecked(elemento, true);
    }
    // Obtiene el elemento si es una clasificacion o su clasif. padre si
    // es una categoria
    Object classification = (PickCategoryTree.isParentElement(elemento) ? elemento
            : PickCategoryTree.getParent(elemento, availableClassifications));
    grayParentIfNeeded((Classification) classification, viewer);
}

From source file:dynamicrefactoring.interfaz.wizard.classificationscombo.ClassificationsCheckBoxTreeListener.java

License:Open Source License

/**
 * Gestiona un evento en el que una clasificacion ha sido
 * marcada/desmarcada.//  ww  w. ja  v  a2  s  . c o  m
 * 
 * Si la clasificacion es multicategoria aplica a sus categorias el
 * mismo estado que se le ha aplicado a ella.
 * 
 * Si no es multicategoria se deja el arbol como estaba antes del
 * evento.
 * 
 * @param event
 *            evento
 * @param classification
 *            clasification objeto del evento
 * @param viewer visor
 */
private void dealWithParentCheckStateChange(CheckStateChangedEvent event, Classification classification,
        CheckboxTreeViewer viewer) {
    if (classification.isMultiCategory()) {
        viewer.setSubtreeChecked(classification, event.getChecked());
    } else if (viewer.getGrayed(classification)) {
        viewer.setSubtreeChecked(classification, false);
    }
}

From source file:net.geoprism.shapefile.locatedIn.PathFilterPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayout(new GridLayout(1, false));

    Map<String, List<PathOption>> paths = this.bean.getPaths();

    Set<Entry<String, List<PathOption>>> entries = paths.entrySet();

    for (Entry<String, List<PathOption>> entry : entries) {
        List<PathOption> options = entry.getValue();

        if (options.size() > 0) {
            PathOption option = options.get(0);

            Group group = new Group(composite, SWT.SHADOW_ETCHED_OUT);
            group.setText(option.getChildLabel());
            group.setLayoutData(new GridData(GridData.FILL_BOTH));
            group.setLayout(new FillLayout());

            PathTreeContentProvider provider = new PathTreeContentProvider(options);

            // Create the tree viewer to display the file tree
            final CheckboxTreeViewer viewer = new CheckboxTreeViewer(group);
            viewer.setContentProvider(provider);
            viewer.setLabelProvider(new PathOptionProvider());
            viewer.setCheckStateProvider(new PathOptionProvider());
            viewer.setInput("root");

            viewer.addCheckStateListener(new ICheckStateListener() {
                public void checkStateChanged(CheckStateChangedEvent event) {
                    PathOption option = (PathOption) event.getElement();
                    option.setEnabled(event.getChecked());

                    if (!event.getChecked()) {
                        viewer.setSubtreeChecked(option, false);
                    }//  w ww .j  av  a  2  s . c o m
                }
            });
        }
    }

    this.setControl(composite);
}

From source file:org.bonitasoft.studio.contract.ui.wizard.FieldToContractInputMappingViewerCheckStateManager.java

License:Open Source License

@Override
public void checkStateChanged(final CheckStateChangedEvent event) {
    final FieldToContractInputMapping mapping = (FieldToContractInputMapping) event.getElement();
    mapping.setGenerated(event.getChecked());
    final CheckboxTreeViewer checkboxTreeViewer = (CheckboxTreeViewer) event.getSource();
    checkboxTreeViewer.setSubtreeChecked(mapping, event.getChecked());
    setChildrenChecked(mapping, event.getChecked());
    selectParentIfChildIsSelected(event, mapping, checkboxTreeViewer);
    deselectParentIfNoChildSelected(event, mapping, checkboxTreeViewer);
}

From source file:org.cs3.pdt.analysis.views.AbstractAnalysisView.java

License:Open Source License

protected CheckboxTreeViewer createAnalysisTreeViewer(Composite parent) {
    final CheckboxTreeViewer treeViewer = new CheckboxTreeViewer(parent,
            SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
    GridData gridData = new GridData();
    gridData.grabExcessHorizontalSpace = true;
    gridData.horizontalAlignment = GridData.FILL;
    gridData.grabExcessVerticalSpace = true;
    gridData.verticalAlignment = GridData.FILL;

    final Tree tree = treeViewer.getTree();
    tree.setLayoutData(gridData);//from   w w w.j ava 2  s.  co  m
    tree.setHeaderVisible(true);
    tree.setLinesVisible(true);

    Menu menu = new Menu(tree.getShell(), SWT.POP_UP);

    MenuItem mnItemRun = new MenuItem(menu, SWT.PUSH);
    mnItemRun.setText("Run analysis");
    mnItemRun.setImage(ImageRepository.getImage(ImageRepository.ICON_RUN));
    mnItemRun.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent evt) {
            runSelectedAnalyses();
        }
    });

    MenuItem mnItemRemove = new MenuItem(menu, SWT.PUSH);
    mnItemRemove.setText("Clear analysis results");
    mnItemRemove.setImage(ImageRepository.getImage(ImageRepository.ICON_REMOVE));
    mnItemRemove.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            clearSelectedAnalyses();
        }
    });

    new MenuItem(menu, SWT.SEPARATOR);

    MenuItem mnItemSelectAll = new MenuItem(menu, SWT.PUSH);
    mnItemSelectAll.setText("Enable all");
    mnItemSelectAll.setImage(ImageRepository.getImage(ImageRepository.ICON_SELECT_ALL));
    mnItemSelectAll.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            setEnabledOnAll(true);
            analysisCheckStateChanged();
        }
    });

    MenuItem mnItemSelectNone = new MenuItem(menu, SWT.PUSH);
    mnItemSelectNone.setText("Disable all");
    mnItemSelectNone.setImage(ImageRepository.getImage(ImageRepository.ICON_SELECT_NONE));
    mnItemSelectNone.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            setEnabledOnAll(false);
            analysisCheckStateChanged();
        }
    });

    MenuItem mnItemExpandAll = new MenuItem(menu, SWT.PUSH);
    mnItemExpandAll.setText("Expand all");
    mnItemExpandAll.setImage(ImageRepository.getImage(ImageRepository.ICON_EXPAND_ALL));
    mnItemExpandAll.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            treeViewer.expandAll();
        }
    });

    MenuItem mnItemCollapseAll = new MenuItem(menu, SWT.PUSH);
    mnItemCollapseAll.setText("Collapse all");
    mnItemCollapseAll.setImage(ImageRepository.getImage(ImageRepository.ICON_COLLAPSE_ALL));
    mnItemCollapseAll.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            treeViewer.collapseAll();
        }
    });

    tree.setMenu(menu);
    treeViewer.addCheckStateListener(new ICheckStateListener() {
        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            treeViewer.setSubtreeChecked(event.getElement(), event.getChecked());
            checkAncestorPath(event.getElement(), event.getChecked(), false, null);

            analysisCheckStateChanged();
        }
    });
    treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            analysisSelectionChanged(event.getSelection());
        }
    });

    analysisContentProvider = new AnalysisTableContentProvider(getResultModel());
    analysisContentProvider.setView(this);
    treeViewer.setContentProvider(analysisContentProvider);
    treeViewer.setInput(new Object());

    analysisTreeViewerColumns = new TreeViewerColumn[3];

    for (int i = 0; i < analysisTreeViewerColumns.length; i++) {
        analysisTreeViewerColumns[i] = new TreeViewerColumn(treeViewer, SWT.NONE);
        analysisTreeViewerColumns[i].getColumn().setMoveable(true);
    }

    analysisTreeViewerColumns[0].getColumn().setWidth(200);
    analysisTreeViewerColumns[0].getColumn().setText("Name");
    analysisTreeViewerColumns[0].setLabelProvider(new AnalysisTableNameColumnLabelProvider());

    analysisTreeViewerColumns[1].getColumn().setWidth(300);
    analysisTreeViewerColumns[1].getColumn().setText("Description");
    analysisTreeViewerColumns[1].setLabelProvider(new AnalysisTableDescriptionColumnLabelProvider());

    analysisTreeViewerColumns[2].getColumn().setWidth(100);
    analysisTreeViewerColumns[2].getColumn().setText("# Results");
    analysisTreeViewerColumns[2].setLabelProvider(new AnalysisTableCountColumnLabelProvider());

    ColumnViewerToolTipSupport.enableFor(treeViewer, ToolTip.NO_RECREATE);

    return treeViewer;
}

From source file:org.kalypso.contribs.eclipse.jface.wizard.TreeSelectionPage.java

License:Open Source License

/**
 * @param viewer//from   w  w  w  .java  2 s  . co  m
 * @param treeContentProvider
 */
protected void handleSelectAll(final CheckboxTreeViewer viewer,
        final ITreeContentProvider treeContentProvider) {
    viewer.expandAll();

    final Object[] items = treeContentProvider.getElements(viewer.getInput());
    for (final Object item : items) {
        viewer.setSubtreeChecked(item, true);
    }

    updateState(viewer);
}