private void checkboxTreeViewerCheckStateChanged(CheckStateChangedEvent event) { CheckboxTreeViewer viewer = (CheckboxTreeViewer) event.getSource(); TableTreeNode node = (TableTreeNode) event.getElement(); if (event.getChecked()) { viewer.setSubtreeChecked(node, true); } else { viewer.setSubtreeChecked(node, false); if (node.getParent() != null) { viewer.setChecked(node.getParent(), false); } } Object[] elements = viewer.getCheckedElements(); setPageComplete(elements.length > 0 ? true : false); checkedTables.clear(); TableTreeNode tableTreeNode; for (Object obj : elements) { tableTreeNode = (TableTreeNode) obj; if (tableTreeNode.isTable) { checkedTables.add(tableTreeNode.getName()); } else { dbDriverMetaData.setDbSchema(tableTreeNode.getName()); } } }
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)); }
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)); }
/** * Returns the list of path selected in <code>tv</code>. It returns the list of checked path * without the children of the checked path. Each path is returned as a string giving the relative * path from the root of the tree. */ static ImmutableList<String> getSelectPathsRelativeToRoot(CheckboxTreeViewer tv) { DirectoryTreeContentProvider provider = (DirectoryTreeContentProvider) tv.getContentProvider(); String root = provider.root.getAbsolutePath(); ImmutableList.Builder<String> builder = ImmutableList.builder(); for (Object element : tv.getCheckedElements()) { if (!tv.getGrayed(element)) { Object parent = provider.getParent(element); if (parent == null || tv.getGrayed(parent)) { // Only add this element if its parent is not selected (so it's the root). String path = ((File) element).getAbsolutePath(); // Strip root from path if (path.startsWith(root)) { path = path.substring(root.length()); if (path.startsWith("/")) { path = path.substring(1); } builder.add(path); } } } } return builder.build(); }
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); }
/** * Selects or deselects all methods. * * @param state * @throws JavaModelException */ private void selectAll(boolean state) { CheckboxTreeViewer checkboxTreeViewer = getGroup().getCheckboxTreeViewer(); ITreeContentProvider contentProvider = (ITreeContentProvider) checkboxTreeViewer.getContentProvider(); Object[] objects = contentProvider.getElements(checkboxTreeViewer.getInput()); for (Object object : objects) { checkboxTreeViewer.setChecked(object, state); } for (IMethod method : getBaseClassMethods()) { if (viewerFilterMethods.select(null, method.getParent(), method)) { if (state) { checkedMethods.add(method); } else { checkedMethods.remove(method); } } } }
@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 public void checkStateChanged(CheckStateChangedEvent event) { if (recursiveTreeSelect) { tree.setSubtreeChecked(event.getElement(), event.getChecked()); } } }); tree = result; return result; }
/** * Creates the tree viewer. * * @param parent the parent composite * @return the tree viewer */ protected CheckboxTreeViewer createTreeViewer(Composite parent) { fViewer = new CheckboxTreeViewer(parent, SWT.BORDER); fViewer.setContentProvider(fContentProvider); fViewer.setLabelProvider(fLabelProvider); fViewer.addCheckStateListener(new ICheckStateListener() { @Override public void checkStateChanged(CheckStateChangedEvent event) { updateOKStatus(); } }); fViewer.setComparator(new ResourceComparator(ResourceComparator.NAME)); if (fFilters != null) { for (int i = 0; i != fFilters.size(); i++) { fViewer.addFilter((ViewerFilter) fFilters.get(i)); } } fViewer.setInput(fInput); return fViewer; }
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); }
@Override public void run() { // uncheck all selected tours final CheckboxTreeViewer viewer = fCompareResultView.getViewer(); // final StructuredSelection selection = (StructuredSelection) viewer.getSelection(); // if (selection.size() > 0) { // // for (final Object tour : selection.toArray()) { // viewer.setChecked(tour, false); // } // } viewer.setCheckedElements(new Object[0]); }
@Override public void run() { // check all selected compared tours which are not yet stored final CheckboxTreeViewer viewer = fCompareResultView.getViewer(); final StructuredSelection selection = (StructuredSelection) viewer.getSelection(); if (selection.size() > 0) { for (final Object tour : selection.toArray()) { if (tour instanceof TVICompareResultComparedTour) { final TVICompareResultComparedTour comparedTour = (TVICompareResultComparedTour) tour; if (comparedTour.isSaved() == false) { viewer.setChecked(tour, true); } } } } }
/** * Creates this group's tree viewer. * @param parent parent composite * @param width the width * @param height the height */ protected void createTreeViewer(Composite parent, int width, int height) { Tree tree= new Tree(parent, SWT.CHECK | SWT.BORDER); GridData data= new GridData(GridData.FILL_BOTH); data.widthHint= width; data.heightHint= height; tree.setLayoutData(data); fTreeViewer= new CheckboxTreeViewer(tree); fTreeViewer.setUseHashlookup(true); fTreeViewer.setContentProvider(fTreeContentProvider); fTreeViewer.setLabelProvider(fTreeLabelProvider); fTreeViewer.addTreeListener(this); fTreeViewer.addCheckStateListener(this); fTreeViewer.addSelectionChangedListener(this); }
@Override protected CheckboxTreeViewer createTreeViewer(Composite composite) { initializeDialogUnits(composite); ViewerPane pane= new ViewerPane(composite, SWT.BORDER | SWT.FLAT); pane.setText(JavaUIMessages.OverrideMethodDialog_dialog_description); CheckboxTreeViewer treeViewer= super.createTreeViewer(pane); pane.setContent(treeViewer.getControl()); GridLayout paneLayout= new GridLayout(); paneLayout.marginHeight= 0; paneLayout.marginWidth= 0; paneLayout.numColumns= 1; pane.setLayout(paneLayout); GridData gd= new GridData(GridData.FILL_BOTH); gd.widthHint= convertWidthInCharsToPixels(55); gd.heightHint= convertHeightInCharsToPixels(15); pane.setLayoutData(gd); ToolBarManager manager= pane.getToolBarManager(); manager.add(new OverrideFlatTreeAction()); // create after tree is created manager.update(true); treeViewer.getTree().setFocus(); return treeViewer; }
@Override public void create() { super.create(); // select the first checked element, or if none are checked, the first element CheckboxTreeViewer treeViewer= getTreeViewer(); TreeItem[] items= treeViewer.getTree().getItems(); if (items.length > 0) { Object revealedElement= items[0]; for (int i= 0; i < items.length; i++) { if (items[i].getChecked()) { revealedElement= items[i].getData(); break; } } treeViewer.setSelection(new StructuredSelection(revealedElement)); treeViewer.reveal(revealedElement); } }
/** * Creates the tree viewer. * * @param parent the parent composite * @return the tree viewer */ protected CheckboxTreeViewer createTreeViewer(Composite parent) { fViewer = new CheckboxTreeViewer(parent, SWT.BORDER); fViewer.setContentProvider(fContentProvider); fViewer.setLabelProvider(fLabelProvider); fViewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { updateOKStatus(); } }); fViewer.setComparator(new ResourceComparator(ResourceComparator.NAME)); if (fFilters != null) { for (int i = 0; i != fFilters.size(); i++) fViewer.addFilter(fFilters.get(i)); } fViewer.setInput(fInput); return fViewer; }
@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); } } }
@Override protected Control createDialogArea(final Composite parent) { final Composite composite = (Composite) super.createDialogArea(parent); final Label messageLabel = createMessageArea(composite); final CheckboxTreeViewer treeViewer = createTreeViewer(composite); final Control buttonComposite = createSelectionButtons(composite); final Tree treeWidget = treeViewer.getTree(); GridDataFactory .fillDefaults() .hint(convertWidthInCharsToPixels(VIEWER_WIDTH_IN_CHARS), convertHeightInCharsToPixels(VIEWER_HEIGHT_IN_CHARS)).applyTo(treeWidget); treeWidget.setFont(parent.getFont()); if (isEmpty()) { messageLabel.setEnabled(false); treeWidget.setEnabled(false); buttonComposite.setEnabled(false); } return composite; }
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); } }
@Override protected TreeViewer createViewer(Composite parent) { CheckboxTreeViewer viewer = new CheckboxTreeViewer(parent, SWT.BORDER); configureViewer(viewer, true); viewer.addCheckStateListener((e) -> { DiffNode node = (DiffNode) e.getElement(); if (!isCheckable(node)) { if (e.getChecked()) viewer.setChecked(node, false); return; } if (e.getChecked()) { selected.add(node); } else { if (fixNewElements && node.getContent().local.type == DiffType.NEW) { viewer.setChecked(node, true); return; } selected.remove(node); } }); UI.gridData(viewer.getTree(), true, true); return viewer; }
@Override public void createControl(Composite parent) { Composite container = new Composite(parent, SWT.NULL); setControl(container); checkboxTreeViewer = new CheckboxTreeViewer(container, SWT.BORDER); Tree tree = checkboxTreeViewer.getTree(); tree.setBounds(0, 0, 574, 282); AttributeSelectionContentProvider adapterContentProvider = new AttributeSelectionContentProvider(); checkboxTreeViewer.setContentProvider(adapterContentProvider); checkboxTreeViewer .setLabelProvider(new AdapterFactoryLabelProvider(new ReflectiveItemProviderAdapterFactory())); }
@Override protected Control createDialogArea(Composite parent) { this.parent = parent; Composite area = (Composite) super.createDialogArea(parent); Composite container = new Composite(area, SWT.NONE); container.setLayoutData(new GridData(GridData.FILL_BOTH)); GridLayout layout = new GridLayout(1, false); container.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); container.setLayout(layout); treeViewer = new CheckboxTreeViewer(area, SWT.BORDER); Tree tree = treeViewer.getTree(); tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); treeViewer .setLabelProvider(new AdapterFactoryLabelProvider(new ReflectiveItemProviderAdapterFactory())); treeViewer .setContentProvider(new AdapterFactoryContentProvider(new ReflectiveItemProviderAdapterFactory())); treeViewer.setInput(modelRoot); return area; }
private void createTreeViewer(Composite container) { checkboxTreeViewer = new CheckboxTreeViewer(container, SWT.BORDER); GridData gd = new GridData(GridData.FILL_BOTH); checkboxTreeViewer.getTree().setLayoutData(gd); checkboxTreeViewer.setLabelProvider(new TableTreeNodeLabelProvider()); checkboxTreeViewer.setContentProvider(new TableTreeNodeContentProvider()); }
public EcoreCodeGeneratorCheckStateListener(EditingDomain editingDomain, WritableValue<EcoreCodeGenerator> eCoreCodeGeneratorWritableValue, CheckboxTreeViewer checkboxTreeViewer) { this.editingDomain = editingDomain; this.eCoreCodeGeneratorWritableValue = eCoreCodeGeneratorWritableValue; this.checkboxTreeViewer = checkboxTreeViewer; refreshCommand = new AbstractCommand() { @Override public void redo() { checkboxTreeViewer.refresh(); } @Override public void undo() { checkboxTreeViewer.refresh(); } @Override public void execute() { // NOP } @Override protected boolean prepare() { return true; } }; }
/** * Set the root of the directory tree view and refresh the view if appropriate */ static void setFileTreeRoot(CheckboxTreeViewer tv, File root) { DirectoryTreeContentProvider provider = (DirectoryTreeContentProvider) tv.getContentProvider(); if ((root == null && provider.getRoot() != null) || !root.equals(provider.getRoot())) { provider.setRoot(root); tv.refresh(); } }
public IResource[] getSelectedResources() { if (!checkbox) return resources; ArrayList selected = new ArrayList(); Object[] checkedResources = ((CheckboxTreeViewer)treeViewer).getCheckedElements(); for (int i = 0; i < checkedResources.length; i++) { if (resourceList.contains(checkedResources[i])) selected.add(checkedResources[i]); } IResource[] selectedResources = new IResource[selected.size()]; selected.toArray(selectedResources); return selectedResources; }
private void refresh() { Object[] checkedElements = null; if (checkbox) checkedElements = ((CheckboxTreeViewer)treeViewer).getCheckedElements(); treeViewer.refresh(); treeViewer.expandAll(); if (checkbox) ((CheckboxTreeViewer)treeViewer).setCheckedElements(checkedElements); }
/** * 트리 뷰어 설정 * * @param viewer * void */ protected void configureTreeViewer(CheckboxTreeViewer viewer) { viewer.setUseHashlookup(true); viewer.addCheckStateListener(new ICheckStateListener() { /** * @see org.eclipse.jface.viewers.ICheckStateListener#checkStateChanged(org.eclipse.jface.viewers.CheckStateChangedEvent) */ public void checkStateChanged(CheckStateChangedEvent event) { treeViewer.setSubtreeChecked(event.getElement(), event.getChecked()); } }); viewer.setContentProvider(new ProjectItemTreeContentProvider(2)); viewer.setLabelProvider(new ProjectItemLabelProvider()); // 트리 뷰어의 경우 탐색기의 최상위 요소인 Model을 입력으로 설정하면 // Model의 자식 요소부터 트리에 보여 주므로 // 트리에 최상위 요소인 Model을 보여 주기 위해서는 // Model을 자식으로 가지는 새로운 요소에다 Model을 설정해서 // 그 요소를 트리의 입력으로 설정해 줘야 한다. ContainerElement container = new ContainerElement(); container.addChild(rootElement); viewer.setInput(container); ViewerFilter viewerFilter = new ElementViewerFilter(filterType); viewer.addFilter(viewerFilter); viewer.setSorter(new NameSorter()); }
protected void createTreeViewer(Composite parent, int width, int height) { Tree tree = new Tree(parent, 32); GridData data = new GridData(1808); data.widthHint = width; data.heightHint = height; tree.setLayoutData(data); fTreeViewer = new CheckboxTreeViewer(tree); fTreeViewer.setUseHashlookup(true); fTreeViewer.setContentProvider(fTreeContentProvider); fTreeViewer.setLabelProvider(fTreeLabelProvider); fTreeViewer.addTreeListener(this); fTreeViewer.addCheckStateListener(this); fTreeViewer.addSelectionChangedListener(this); }
private void createObjectTree(Composite container) { lblNewLabel = new Label(container, SWT.NONE); lblNewLabel.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false, 1, 1)); lblNewLabel.setText("Choose: " + getSelectedGenerator().getContentType()); resourceTree = new CheckboxTreeViewer(container, SWT.BORDER); resourceTree.getTree().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); resourceTree.setContentProvider(new WorkspaceTreeContentProvider()); resourceTree.setLabelProvider(new SGenWorkspaceLabelProvider()); TreePropagatingCheckStateListener checkStateListener = new TreePropagatingCheckStateListener(resourceTree) { @Override public void checkStateChanged(CheckStateChangedEvent event) { super.checkStateChanged(event); } }; resourceTree.addCheckStateListener(checkStateListener); resourceTree.addDoubleClickListener(new TreeExpandingDoubleClickListener(resourceTree, checkStateListener)); resourceTree.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS); resourceTree.setFilters(new ViewerFilter[] { new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parentElement, Object element) { // TODO: Filter by common navigator filter instead of supressing // '.' prefixed folder if (element instanceof IFolder) { return !((IFolder) element).getName().startsWith("."); } return true; } } }); }
private CheckboxTreeViewer createTreeViewer(Composite parent) { checkboxTreeViewer = new ContainerCheckedTreeViewer(parent, SWT.CHECK); ITreeContentProvider contentProvider = new StandardJavaElementContentProvider( true); checkboxTreeViewer.setContentProvider(contentProvider); // label provider ILabelProvider labelProvider = new JavaElementLabelProvider( JavaElementLabelProvider.SHOW_DEFAULT | JavaElementLabelProvider.SHOW_RETURN_TYPE); checkboxTreeViewer.setLabelProvider(labelProvider); return checkboxTreeViewer; }
private void addSourceDBServer() { IHandlerService handlerService = (IHandlerService) PlatformUI .getWorkbench().getService(IHandlerService.class); try { serverViewer = (CheckboxTreeViewer) handlerService.executeCommand( "de.goettingen.i2b2.importtool.idrt.addSourceServer", null); serverViewer.refresh(); } catch (Exception ex) { ex.printStackTrace(); throw new RuntimeException("de.goettingen.i2b2.importtool.idrt.addSourceServer.command not found"); } }
/** * commands for importDBServer */ private void deleteSourceServer() { IHandlerService handlerService = (IHandlerService) PlatformUI .getWorkbench().getService(IHandlerService.class); try { serverViewer = (CheckboxTreeViewer) handlerService.executeCommand( "de.goettingen.i2b2.importtool.idrt.deleteSourceServer", null); serverViewer.refresh(); } catch (Exception ex) { ex.printStackTrace(); throw new RuntimeException("de.goettingen.i2b2.importtool.idrt.deleteSourceServer.command not found"); } }
private void editSourceServer() { IHandlerService handlerService = (IHandlerService) PlatformUI .getWorkbench().getService(IHandlerService.class); try { serverViewer = (CheckboxTreeViewer) handlerService.executeCommand( "de.goettingen.i2b2.importtool.idrt.editSourceServer", null); serverViewer.refresh(); } catch (Exception ex) { ex.printStackTrace(); throw new RuntimeException("de.goettingen.i2b2.importtool.idrt.editSourceServer.command not found"); } }
protected void newFolderButtonPressed() { NewFolderDialog dialog= new NewFolderDialog(getShell(), fSelectedContainer); if (dialog.open() == Window.OK) { CheckboxTreeViewer treeViewer= fViewer; treeViewer.refresh(fSelectedContainer); Object createdFolder= dialog.getResult()[0]; treeViewer.reveal(createdFolder); treeViewer.setChecked(createdFolder, true); treeViewer.setSelection(new StructuredSelection(createdFolder)); updateOKStatus(); } }