List of usage examples for org.eclipse.jface.viewers CheckboxTreeViewer addCheckStateListener
@Override
public void addCheckStateListener(ICheckStateListener listener)
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);/* w w w . j a v a2 s . c om*/ 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
/** * ?????// www . j av a 2s . com * * ????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
/** * Create a tree view that use a FileTreeContentProvider for its content. The created tree view * can be used to select branches of a directory tree. * /*from w w w . java 2 s. co m*/ * @param container The parent composite for the created tree view. * @return A checkbox tree view */ static CheckboxTreeViewer createTreeView(Composite container) { final CheckboxTreeViewer tv = new CheckboxTreeViewer(container, SWT.BORDER); tv.setContentProvider(new DirectoryTreeContentProvider(null)); tv.setLabelProvider(new ILabelProvider() { @Override public void removeListener(ILabelProviderListener listener) { // we do not have event notifying listeners, ignore. } @Override public boolean isLabelProperty(Object element, String property) { return false; } @Override public void dispose() { } @Override public void addListener(ILabelProviderListener listener) { // we do not have event notifying listeners, ignore. } @Override public Image getImage(Object element) { return null; } @Override public String getText(Object element) { return ((File) element).getName(); } }); tv.setInput("root"); // pass a non-null that will be ignored tv.addCheckStateListener(event -> setChecked(tv, event.getElement())); return tv; }
From source file:com.google.devtools.depan.eclipse.ui.nodes.viewers.CheckNodeTreeView.java
License:Apache License
@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/*from w w w .j a va 2 s. c o m*/ public void checkStateChanged(CheckStateChangedEvent event) { if (recursiveTreeSelect) { tree.setSubtreeChecked(event.getElement(), event.getChecked()); } } }); tree = result; return result; }
From source file:com.jetbrains.mylyn.yt.ui.InPlaceResizableCheckBoxTreeDialog.java
License:Open Source License
@Override protected Control createControl(Composite parent) { getShell().setText(dialogLabel);/*from w w w .j a v a 2 s. c om*/ Composite composite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); layout.marginHeight = MARGIN_SIZE; layout.marginWidth = MARGIN_SIZE; layout.horizontalSpacing = 0; layout.verticalSpacing = 0; composite.setLayout(layout); GridData gd = new GridData(GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL | GridData.FILL_BOTH); composite.setLayoutData(gd); valueTree = new CheckboxFilteredTree(composite, SWT.CHECK | SWT.MULTI | SWT.V_SCROLL | SWT.BORDER, new SubstringPatternFilter()); gd = new GridData(GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL | GridData.FILL_BOTH); gd.heightHint = 175; CheckboxTreeViewer viewer = valueTree.getViewer(); viewer.getControl().setLayoutData(gd); if (validValues != null) { viewer.setContentProvider(new ITreeContentProvider() { public Object[] getChildren(Object parentElement) { if (parentElement instanceof Map<?, ?>) { return ((Map<?, ?>) parentElement).keySet().toArray(); } return null; } public Object getParent(Object element) { return null; } public boolean hasChildren(Object element) { return false; } public Object[] getElements(Object inputElement) { return getChildren(inputElement); } public void dispose() { } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } }); // viewer.setSorter(new ViewerSorter()); viewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { if (element instanceof String) { return validValues.get(element); } return super.getText(element); } }); viewer.setInput(validValues); Set<String> invalidValues = new HashSet<String>(); // Remove any currently entered invalid values for (String value : selectedValues) { if (!validValues.containsKey(value)) { invalidValues.add(value); } } // Remove any unselected values for (String value : validValues.keySet()) { if (!viewer.setChecked(value, true)) { invalidValues.add(value); } } selectedValues.removeAll(invalidValues); viewer.setCheckedElements(selectedValues.toArray()); } viewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { if (event.getChecked()) { selectedValues.add((String) event.getElement()); } else { selectedValues.remove(event.getElement()); } } }); return valueTree; }
From source file:com.nokia.tools.screen.ui.wizards.AbstractNewPackagePage.java
License:Open Source License
protected CheckboxTreeViewer createTaskViewer(Composite composite) { final CheckboxTreeViewer taskViewer = new CheckboxTreeViewer(composite, SWT.CHECK | SWT.NONE); taskViewer.setContentProvider(new TaskContentProvider()); taskViewer.setLabelProvider(new TaskLabelProvider()); taskViewer.setSorter(new TaskViewerSorter()); taskViewer.setInput(getContents());//from w w w . ja v a2 s. c om taskViewer.expandToLevel(2); taskViewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { if (event.getElement() instanceof ContentGroup) { ContentGroup group = (ContentGroup) event.getElement(); for (IContent content : group.getContents()) { taskViewer.setChecked(content, event.getChecked()); // this method call internally sets PACKAGING's // attribute value for corresponding ancestors and // children content.setAttribute(ContentAttribute.PACKAGING.name(), new Boolean(event.getChecked()).toString()); } } else { IContentData data = (IContentData) event.getElement(); if (taskViewer.getGrayed(data)) { taskViewer.setChecked(data, false); return; } // this method call internally sets PACKAGING's attribute // value for corresponding ancestors and children data.setAttribute(ContentAttribute.PACKAGING.name(), new Boolean(event.getChecked()).toString()); if (!event.getChecked()) { // unchecks the parent if necessary IContentData work = data.getParent(); while (work != null) { boolean nonSelected = true; for (IContentData child : work.getChildren()) { if (new Boolean((String) child.getAttribute(ContentAttribute.PACKAGING.name())) && new Boolean( (String) child.getAttribute(ContentAttribute.MODIFIED.name()))) { nonSelected = false; break; } } if (nonSelected) { // this method call internally sets PACKAGING's // attribute value for corresponding ancestors // and children work.setAttribute(ContentAttribute.PACKAGING.name(), "false"); } else { break; } work = work.getParent(); } } } updateTree(taskViewer); pageChanged(); } }); taskViewer.addTreeListener(new ITreeViewerListener() { public void treeCollapsed(TreeExpansionEvent event) { } /** * Notifies that a node in the tree has been expanded. * * @param event * event object describing details */ public void treeExpanded(TreeExpansionEvent event) { updateTree(taskViewer); } }); return taskViewer; }
From source file:com.windowtester.test.locator.swt.shells.CheckFileTree.java
License:Open Source License
/** * Creates the main window's contents/*from w w w .j a va2s .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:de.loskutov.fs.dialogs.MultipleFolderSelectionDialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { Composite composite = (Composite) super.createDialogArea(parent); createMessageArea(composite);//from ww w. j a v a 2 s. c om CheckboxTreeViewer treeViewer = createTreeViewer(composite); GridData data = new GridData(GridData.FILL_BOTH); data.widthHint = convertWidthInCharsToPixels(60); data.heightHint = convertHeightInCharsToPixels(18); Tree treeWidget = treeViewer.getTree(); treeWidget.setLayoutData(data); treeWidget.setFont(composite.getFont()); Button button = new Button(composite, SWT.PUSH); button.setText("Create &New Folder..."); button.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent event) { newFolderButtonPressed(); } }); button.setFont(composite.getFont()); fNewFolderButton = button; treeViewer.addSelectionChangedListener(this); if (fExisting != null) { Object[] existing = fExisting.toArray(); treeViewer.setGrayedElements(existing); setInitialSelections(existing); } if (fFocusElement != null) { treeViewer.setSelection(new StructuredSelection(fFocusElement), true); } treeViewer.addCheckStateListener(new ICheckStateListener() { @Override public void checkStateChanged(CheckStateChangedEvent event) { forceExistingChecked(event); } }); applyDialogFont(composite); return composite; }
From source file:descent.internal.ui.wizards.buildpaths.MultipleFolderSelectionDialog.java
License:Open Source License
protected Control createDialogArea(Composite parent) { Composite composite = (Composite) super.createDialogArea(parent); createMessageArea(composite);//w ww . jav a 2 s. com CheckboxTreeViewer treeViewer = createTreeViewer(composite); GridData data = new GridData(GridData.FILL_BOTH); data.widthHint = convertWidthInCharsToPixels(60); data.heightHint = convertHeightInCharsToPixels(18); Tree treeWidget = treeViewer.getTree(); treeWidget.setLayoutData(data); treeWidget.setFont(composite.getFont()); Button button = new Button(composite, SWT.PUSH); button.setText(NewWizardMessages.MultipleFolderSelectionDialog_button); button.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent event) { newFolderButtonPressed(); } }); button.setFont(composite.getFont()); fNewFolderButton = button; treeViewer.addSelectionChangedListener(this); if (fExisting != null) { Object[] existing = fExisting.toArray(); treeViewer.setGrayedElements(existing); setInitialSelections(existing); } if (fFocusElement != null) { treeViewer.setSelection(new StructuredSelection(fFocusElement), true); } treeViewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { forceExistingChecked(event); } }); applyDialogFont(composite); return composite; }
From source file:ext.org.eclipse.jdt.internal.ui.dialogs.GenerateToStringDialog.java
License:Open Source License
@Override protected CheckboxTreeViewer createTreeViewer(Composite parent) { CheckboxTreeViewer treeViewer = super.createTreeViewer(parent); treeViewer.setLabelProvider(new GenerateToStringLabelProvider()); //expandAll because setSubtreeChecked() used in CheckStateListener below assumes that elements have been expanded treeViewer.expandAll();// w w w . j a v a 2 s. c o m //but actually we only need one branch expanded treeViewer.collapseAll(); treeViewer.expandToLevel(GenerateToStringContentProvider.fieldsNode, 1); treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) getTreeViewer().getSelection(); Object selected = selection.size() > 0 ? selection.toList().get(0) : null; GenerateToStringContentProvider cp = (GenerateToStringContentProvider) getContentProvider(); fButtonControls[UP_INDEX].setEnabled(cp.canMoveUp(selected)); fButtonControls[DOWN_INDEX].setEnabled(cp.canMoveDown(selected)); } }); treeViewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { getTreeViewer().setSubtreeChecked(event.getElement(), event.getChecked()); getTreeViewer().setGrayed(event.getElement(), false); Object parentElement = ((ITreeContentProvider) (getTreeViewer().getContentProvider())) .getParent(event.getElement()); if (parentElement != null) { Object[] siblings = ((ITreeContentProvider) (getTreeViewer().getContentProvider())) .getChildren(parentElement); int count = 0; for (int i = 0; i < siblings.length; i++) { if (getTreeViewer().getChecked(siblings[i])) count++; } if (count == 0) getTreeViewer().setGrayChecked(parentElement, false); else if (count == siblings.length) { getTreeViewer().setChecked(parentElement, true); getTreeViewer().setGrayed(parentElement, false); } else getTreeViewer().setGrayChecked(parentElement, true); } updateOKStatus(); } }); return treeViewer; }