List of usage examples for org.eclipse.jface.viewers TreeViewer setExpandedState
public void setExpandedState(Object elementOrTreePath, boolean expanded)
From source file:org.eclipse.tcf.te.ui.wizards.newWizard.NewWizardSelectionPage.java
License:Open Source License
@Override public void createControl(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); composite.setLayout(new GridLayout()); composite.setLayoutData(new GridData(GridData.FILL_BOTH)); Label label = new Label(composite, SWT.NONE); label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); label.setText(Messages.NewWizardSelectionPage_wizards); label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); filteredTreeFilter = new WizardPatternFilter(); filteredTree = new FilteredTree(composite, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER, filteredTreeFilter, true);// ww w . ja va 2s.co m filteredTree.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); GridData layoutData = new GridData(GridData.FILL_BOTH); layoutData.heightHint = 325; layoutData.widthHint = 450; filteredTree.setLayoutData(layoutData); final TreeViewer treeViewer = filteredTree.getViewer(); treeViewer.setContentProvider(new NewWizardContentProvider()); treeViewer.setLabelProvider(WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider()); treeViewer.setComparator(new NewWizardViewerComparator()); treeViewer.addFilter(new NewWizardViewerFilter()); treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { onSelectionChanged(); } }); treeViewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { // Double-click on a connection type is triggering the sub wizard if (event.getSelection() instanceof IStructuredSelection) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); // The tree is single selection, so look for the first element only. Object element = selection.getFirstElement(); if (element instanceof IWizardDescriptor) { // Double-click on a connection type is triggering the sub wizard if (canFlipToNextPage()) { getWizard().getContainer().showPage(getNextPage()); } } else if (event.getViewer() instanceof TreeViewer) { TreeViewer viewer = (TreeViewer) event.getViewer(); if (viewer.isExpandable(element)) { viewer.setExpandedState(element, !viewer.getExpandedState(element)); } } } } }); treeViewer.setInput(category != null ? category : wizardRegistry); // apply the standard dialog font Dialog.applyDialogFont(composite); setControl(composite); // Restore the tree action restoreWidgetValues(); // Initialize the context help id PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IUIConstants.HELP_NEW_WIZARD_SELECTION_PAGE); }
From source file:org.eclipse.tm.te.ui.views.handler.OpenCommandHandler.java
License:Open Source License
@Override public Object execute(ExecutionEvent event) throws ExecutionException { // The selection is the Target Explorer tree selection ISelection selection = HandlerUtil.getCurrentSelection(event); // The active part is the Target Explorer view instance IWorkbenchPart part = HandlerUtil.getActivePart(event); if (selection instanceof IStructuredSelection && !selection.isEmpty() && part instanceof CommonNavigator) { // If the tree node is expandable, expand or collapse it TreeViewer viewer = ((CommonNavigator) part).getCommonViewer(); Object element = ((IStructuredSelection) selection).getFirstElement(); if (viewer.isExpandable(element)) { viewer.setExpandedState(element, !viewer.getExpandedState(element)); } else {/* w w w .j a v a2 s. c o m*/ // Node is not an expandable node, forward to the properties action. ICommandService service = (ICommandService) PlatformUI.getWorkbench() .getService(ICommandService.class); Command command = service != null ? service.getCommand(ActionFactory.PROPERTIES.getCommandId()) : null; if (command != null && command.isDefined() && command.isEnabled()) { try { command.executeWithChecks(event); } catch (Exception e) { // If the platform is in debug mode, we print the exception to the log view if (Platform.inDebugMode()) { IStatus status = new Status(IStatus.ERROR, UIPlugin.getUniqueIdentifier(), e.getLocalizedMessage(), e); UIPlugin.getDefault().getLog().log(status); } } } } } return null; }
From source file:org.eclipse.tm.te.ui.wizards.newWizard.NewWizardSelectionPage.java
License:Open Source License
@Override public void createControl(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); composite.setLayout(new GridLayout()); composite.setLayoutData(new GridData(GridData.FILL_BOTH)); Label label = new Label(composite, SWT.NONE); label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); label.setText(Messages.NewWizardSelectionPage_wizards); label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); filteredTreeFilter = new WizardPatternFilter(); filteredTree = new FilteredTree(composite, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER, filteredTreeFilter, true);//w ww . j av a 2s.c o m filteredTree.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); GridData layoutData = new GridData(GridData.FILL_BOTH); layoutData.heightHint = 325; layoutData.widthHint = 450; filteredTree.setLayoutData(layoutData); final TreeViewer treeViewer = filteredTree.getViewer(); treeViewer.setContentProvider(new WizardContentProvider()); treeViewer.setLabelProvider(new WorkbenchLabelProvider()); treeViewer.setComparator(new NewWizardViewerComparator()); treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { onSelectionChanged(); } }); treeViewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { // Double-click on a connection type is triggering the sub wizard if (event.getSelection() instanceof IStructuredSelection) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); // The tree is single selection, so look for the first element only. Object element = selection.getFirstElement(); if (element instanceof IWizardDescriptor) { // Double-click on a connection type is triggering the sub wizard if (canFlipToNextPage()) getWizard().getContainer().showPage(getNextPage()); } else if (event.getViewer() instanceof TreeViewer) { TreeViewer viewer = (TreeViewer) event.getViewer(); if (viewer.isExpandable(element)) { viewer.setExpandedState(element, !viewer.getExpandedState(element)); } } } } }); treeViewer.setInput(wizardRegistry.getRootCategory()); // apply the standard dialog font Dialog.applyDialogFont(composite); setControl(composite); // Restore the tree state restoreWidgetValues(); // Initialize the context help id PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IUIConstants.HELP_NEW_WIZARD_SELECTION_PAGE); }
From source file:org.eclipse.ui.internal.dialogs.NewWizardNewPage.java
License:Open Source License
/** * Create a new FilteredTree in the parent. * //from ww w . j a v a 2 s.com * @param parent the parent <code>Composite</code>. * @since 3.0 */ protected FilteredTree createFilteredTree(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); layout.marginHeight = 0; layout.marginWidth = 0; composite.setLayout(layout); GridData data = new GridData(SWT.FILL, SWT.FILL, true, true); data.widthHint = SIZING_VIEWER_WIDTH; data.horizontalSpan = 2; data.grabExcessHorizontalSpace = true; data.grabExcessVerticalSpace = true; boolean needsHint = DialogUtil.inRegularFontMode(parent); //Only give a height hint if the dialog is going to be too small if (needsHint) { data.heightHint = SIZING_LISTS_HEIGHT; } composite.setLayoutData(data); filteredTreeFilter = new WizardPatternFilter(); FilteredTree filterTree = new FilteredTree(composite, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER, filteredTreeFilter, true); filterTree.setQuickSelectionMode(true); final TreeViewer treeViewer = filterTree.getViewer(); treeViewer.setContentProvider(new WizardContentProvider()); treeViewer.setLabelProvider(new DelegatingLabelProviderWithTooltip(new WorkbenchLabelProvider(), PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator(ContributingPluginDecorator.ID)) { protected Object unwrapElement(Object element) { if (element instanceof WorkbenchWizardElement) { element = ((WorkbenchWizardElement) element).getConfigurationElement(); } if (element instanceof WizardCollectionElement) { element = ((WizardCollectionElement) element).getConfigurationElement(); } return element; } }); treeViewer.setComparator(NewWizardCollectionComparator.INSTANCE); treeViewer.addSelectionChangedListener(this); ArrayList inputArray = new ArrayList(); for (int i = 0; i < primaryWizards.length; i++) { inputArray.add(primaryWizards[i]); } boolean expandTop = false; if (wizardCategories != null) { if (wizardCategories.getParent() == null) { IWizardCategory[] children = wizardCategories.getCategories(); for (int i = 0; i < children.length; i++) { inputArray.add(children[i]); } } else { expandTop = true; inputArray.add(wizardCategories); } } // ensure the category is expanded. If there is a remembered expansion it will be set later. if (expandTop) { treeViewer.setAutoExpandLevel(2); } AdaptableList input = new AdaptableList(inputArray); treeViewer.setInput(input); filterTree.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); treeViewer.getTree().setFont(parent.getFont()); treeViewer.addDoubleClickListener(new IDoubleClickListener() { /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.IDoubleClickListener#doubleClick(org.eclipse.jface.viewers.DoubleClickEvent) */ public void doubleClick(DoubleClickEvent event) { IStructuredSelection s = (IStructuredSelection) event.getSelection(); selectionChanged(new SelectionChangedEvent(event.getViewer(), s)); Object element = s.getFirstElement(); if (treeViewer.isExpandable(element)) { treeViewer.setExpandedState(element, !treeViewer.getExpandedState(element)); } else if (element instanceof WorkbenchWizardElement) { page.advanceToNextPageOrFinish(); } } }); treeViewer.addFilter(filter); if (projectsOnly) { treeViewer.addFilter(projectFilter); } Dialog.applyDialogFont(filterTree); return filterTree; }
From source file:org.eclipse.ui.navigator.CommonNavigator.java
License:Open Source License
/** * <p>/* ww w . j a va 2s. c om*/ * Note: This method is for internal use only. Clients should not call this * method. * </p> * * @param anEvent * Supplied by the DoubleClick listener. */ protected void handleDoubleClick(DoubleClickEvent anEvent) { IAction openHandler = getViewSite().getActionBars().getGlobalActionHandler(ICommonActionConstants.OPEN); if (openHandler == null) { IStructuredSelection selection = (IStructuredSelection) anEvent.getSelection(); Object element = selection.getFirstElement(); TreeViewer viewer = getCommonViewer(); if (viewer.isExpandable(element)) { viewer.setExpandedState(element, !viewer.getExpandedState(element)); } } }
From source file:org.eclipse.ui.trace.internal.TracingDoubleClickListener.java
License:Open Source License
public void doubleClick(final DoubleClickEvent event) { // auto-expand or collapse the selected node TreeViewer traceComponentViewer = (TreeViewer) event.getViewer(); final Object selectedItem = ((IStructuredSelection) traceComponentViewer.getSelection()).getFirstElement(); final boolean expandedState = traceComponentViewer.getExpandedState(selectedItem); if (selectedItem instanceof TracingNode) { traceComponentViewer.setExpandedState(selectedItem, !expandedState); }/*from w ww . ja v a 2s. c om*/ }
From source file:org.eclipse.wst.jsdt.internal.ui.packageview.PackageExplorerActionGroup.java
License:Open Source License
void handleDoubleClick(DoubleClickEvent event) { TreeViewer viewer = fPart.getTreeViewer(); IStructuredSelection selection = (IStructuredSelection) event.getSelection(); Object element = selection.getFirstElement(); if (viewer.isExpandable(element)) { if (doubleClickGoesInto()) { // don't zoom into compilation units and class files if (element instanceof IJavaScriptUnit || element instanceof IClassFile) return; if (element instanceof IOpenable || element instanceof IContainer || element instanceof IWorkingSet) { fZoomInAction.run();//from ww w. j a v a 2 s. com } } else { IAction openAction = fNavigateActionGroup.getOpenAction(); if (openAction != null && openAction.isEnabled() && OpenStrategy.getOpenMethod() == OpenStrategy.DOUBLE_CLICK) return; if (selection instanceof ITreeSelection) { TreePath[] paths = ((ITreeSelection) selection).getPathsFor(element); for (int i = 0; i < paths.length; i++) { viewer.setExpandedState(paths[i], !viewer.getExpandedState(paths[i])); } } else { viewer.setExpandedState(element, !viewer.getExpandedState(element)); } } } else if (element instanceof IProject && !((IProject) element).isOpen()) { OpenProjectAction openProjectAction = fProjectActionGroup.getOpenProjectAction(); if (openProjectAction.isEnabled()) { openProjectAction.run(); } } }
From source file:org.entirej.ide.ui.nodes.AbstractNodeTreeSection.java
License:Apache License
protected void buildBody(Section section, FormToolkit toolkit) { section.setLayout(EditorLayoutFactory.createClearTableWrapLayout(false, 1)); GridData sectionData = new GridData(GridData.FILL_BOTH | GridData.GRAB_VERTICAL); section.setLayoutData(sectionData);//from w w w . j a v a2 s. com section.setText(getSectionTitle()); section.setDescription(getSectionDescription()); Composite body = toolkit.createComposite(section); body.setLayout(new GridLayout()); body.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); filteredTree = new FilteredTree(body, SWT.VIRTUAL | SWT.V_SCROLL | SWT.BORDER | SWT.MULTI, new PatternFilter(), true) { ISelection selection; Object[] expanded; protected WorkbenchJob doCreateRefreshJob() { WorkbenchJob refreshJob2 = super.doCreateRefreshJob(); refreshJob2.addJobChangeListener(new JobChangeAdapter() { public void done(IJobChangeEvent event) { if (!event.getResult().isOK()) return; String text = getFilterString(); if (text != null && text.length() > 0) return; TreeViewer treeview = getViewer(); if (expanded != null) { treeview.getControl().setRedraw(false); treeview.setExpandedElements(expanded); treeview.getControl().setRedraw(true); expanded = null; } if (selection != null) { getViewer().setSelection(selection, true); getManagedForm().fireSelectionChanged(AbstractNodeTreeSection.this, selection); selection = null; } }; }); return refreshJob2; }; protected void textChanged() { if (selection == null) selection = getViewer().getSelection(); if (expanded == null) expanded = getViewer().getExpandedElements(); super.textChanged(); } }; GridData treeGD = new GridData(GridData.FILL_BOTH | GridData.GRAB_VERTICAL); treeGD.widthHint = 200; treeGD.heightHint = 100; filteredTree.setLayoutData(treeGD); final TreeViewer viewer = filteredTree.getViewer(); viewer.setLabelProvider(new NodeStyledCellLabelProvider(getLabelProvider())); viewer.setContentProvider(getContentProvider()); new ViewerToolTipSupport(viewer); viewer.setAutoExpandLevel(expand_level); editor.getSite().setSelectionProvider(viewer); viewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { showNodeDetails(); editor.getContributor().refreah(); } }); // add default double click support to tree viewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); boolean expandedState = viewer.getExpandedState(selection.getFirstElement()); viewer.setExpandedState(selection.getFirstElement(), !expandedState); } }); viewer.getTree().addMouseListener(new MouseAdapter() { @Override public void mouseDown(MouseEvent e) { if (e.button == 3) { Point point = new Point(e.x, e.y); TreeItem item = viewer.getTree().getItem(point); if (item == null) { viewer.setSelection(null); } } } }); connectContextMenu(); connectAddContextMenu(); toolkit.paintBordersFor(body); section.setTabList(new Control[] { body }); section.setClient(body); }
From source file:org.gumtree.gumnix.sics.batch.ui.VisualBatchBufferToolViewer.java
License:Open Source License
protected void createUI() { if (isDisposed()) { return;/*from w ww . jav a 2 s .c o m*/ } GridLayoutFactory.swtDefaults().applyTo(this); Group toolGroup = new Group(this, SWT.NONE); toolGroup.setText("Task Library"); toolGroup.setLayout(new FillLayout()); getToolkit().adapt(toolGroup); GridDataFactory.fillDefaults().grab(true, true).applyTo(toolGroup); final TreeViewer toolViewer = new TreeViewer(toolGroup, SWT.NONE); toolViewer.setContentProvider(new TreeContentProvider() { public Object[] getElements(Object inputElement) { if (inputElement instanceof ICommandRegistry) { commandTreeNode = new CommandTreeNode((ICommandRegistry) inputElement, toolViewer); scientistFolder = new FolderTreeNode("Instrument Scientist's Tasks", toolViewer); userFolder = new FolderTreeNode("User Defined Tasks", toolViewer); // return new Object[] { commandTreeNode, scientistFolder, userFolder}; // return new Object[] { commandTreeNode}; return commandTreeNode.getChildren(); } else { return new Object[0]; } } }); toolViewer.setLabelProvider(new TreeLabelProvider()); toolViewer.setInput(ServiceUtils.getService(ICommandRegistry.class)); toolViewer.addDragSupport(DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer() }, new DragSourceAdapter() { public void dragFinished(DragSourceEvent event) { LocalSelectionTransfer.getTransfer().setSelection(null); } public void dragSetData(DragSourceEvent event) { if (LocalSelectionTransfer.getTransfer().isSupportedType(event.dataType)) { LocalSelectionTransfer.getTransfer().setSelection(toolViewer.getSelection()); } } }); toolViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { ITreeNode node = (ITreeNode) ((IStructuredSelection) event.getSelection()).getFirstElement(); if (!(node.getOriginalObject() instanceof ITaskDescriptor)) { return; } ITaskDescriptor desc = (ITaskDescriptor) node.getOriginalObject(); try { WorkflowUtils.addNewTask(getWorkflow(), desc); } catch (ObjectCreateException e) { logger.error("Failed to add from an task descriptor.", e); } } }); toolViewer.setExpandedState(commandTreeNode, true); getParent().layout(true, true); }
From source file:org.mailster.gui.prefs.ConfigurationDialog.java
License:Open Source License
/** * Add the listeners to the tree viewer. * // ww w .j a va 2 s .com * @param viewer * @since 3.1 */ protected void addListeners(final TreeViewer viewer) { viewer.addPostSelectionChangedListener(new ISelectionChangedListener() { private void handleError() { try { // remove the listener temporarily so that the events caused // by the error handling dont further cause error handling // to occur. viewer.removePostSelectionChangedListener(this); showPageFlippingAbortError(); selectLastVisitedPageAgain(); clearLastSelectedNode(); } finally { viewer.addPostSelectionChangedListener(this); } } public void selectionChanged(SelectionChangedEvent event) { Object selection = getSingleSelection(event.getSelection()); if (selection instanceof IPreferenceNode) { if (!isCurrentPageValid()) { handleError(); } else if (!showPage((IPreferenceNode) selection)) { // Page flipping wasn't successful handleError(); } else { // Everything went well lastSuccessfulNode = (IPreferenceNode) selection; } } } }); ((Tree) viewer.getControl()).addSelectionListener(new SelectionAdapter() { public void widgetDefaultSelected(final SelectionEvent event) { ISelection selection = viewer.getSelection(); if (selection.isEmpty()) return; IPreferenceNode singleSelection = getSingleSelection(selection); boolean expanded = viewer.getExpandedState(singleSelection); viewer.setExpandedState(singleSelection, !expanded); } }); // Register help listener on the tree to use context sensitive help viewer.getControl().addHelpListener(new HelpListener() { public void helpRequested(HelpEvent event) { // call perform help on the current page if (getCurrentPage() != null) { getCurrentPage().performHelp(); } } }); }