List of usage examples for org.eclipse.jface.viewers TreeViewer getSelection
@Override
public ISelection getSelection()
AbstractTreeViewer
implementation of this method returns the result as an ITreeSelection
. From source file:net.bioclipse.cdk.ui.wizards.SelectFilesWizardPage.java
License:Open Source License
public void createControl(Composite parent) { Composite container = new Composite(parent, SWT.NULL); GridLayout layout = new GridLayout(); container.setLayout(layout);//from w w w .j a v a2 s.c om layout.numColumns = 2; layout.verticalSpacing = 9; final TreeViewer treeViewer = new TreeViewer(container); if (withCheckbox) { includeRecursivlyButton = new Button(container, SWT.CHECK); includeRecursivlyButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { this.widgetSelected(e); } public void widgetSelected(SelectionEvent e) { SelectFilesWizardPage.this.setPageComplete(false); if (includeRecursivlyButton.getSelection()) { ISelection sel = treeViewer.getSelection(); if (sel instanceof IStructuredSelection) { selectedFiles = (IStructuredSelection) sel; try { if (containsMolecule(selectedFiles) || (includeRecursivlyButton.getSelection() && containsFolder(selectedFiles))) SelectFilesWizardPage.this.setPageComplete(true); } catch (Exception e1) { LogUtils.handleException(e1, logger); } } } } }); Label includeRecursivlyLabel = new Label(container, SWT.NULL); includeRecursivlyLabel.setText("Include directories recursivly"); } treeViewer.setContentProvider(new MoleculeFileContentProvider()); treeViewer.setLabelProvider(WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider()); treeViewer.setUseHashlookup(true); ViewerFilter[] filters = new ViewerFilter[1]; filters[0] = new DotViewerFilter(); treeViewer.setFilters(filters); //Layout the tree viewer below the text field GridData layoutData = new GridData(); layoutData.grabExcessHorizontalSpace = true; layoutData.grabExcessVerticalSpace = true; layoutData.horizontalAlignment = GridData.FILL; layoutData.verticalAlignment = GridData.FILL; layoutData.horizontalSpan = 3; treeViewer.getControl().setLayoutData(layoutData); treeViewer.setInput(ResourcesPlugin.getWorkspace().getRoot().findMember(".")); treeViewer.expandToLevel(2); treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { SelectFilesWizardPage.this.setPageComplete(false); ISelection sel = event.getSelection(); if (sel instanceof IStructuredSelection) { selectedFiles = (IStructuredSelection) sel; try { if (containsMolecule(selectedFiles) || (includeRecursivlyButton.getSelection() && containsFolder(selectedFiles))) SelectFilesWizardPage.this.setPageComplete(true); } catch (Exception e) { LogUtils.handleException(e, logger); } } } }); treeViewer.setSelection(sel, true); if (sel != null && !sel.isEmpty()) setPageComplete(true); else setPageComplete(false); setControl(container); }
From source file:net.refractions.udig.style.sld.editor.internal.EditorDialog.java
License:Open Source License
/** * Add the listeners to the tree viewer. * @param viewer/*from w w w. java 2s.c o m*/ * * @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); showPageFlippingAbortDialog(); selectCurrentPageAgain(); clearSelectedNode(); } finally { viewer.addPostSelectionChangedListener(this); } } public void selectionChanged(SelectionChangedEvent event) { Object selection = getSingleSelection(event.getSelection()); if (selection instanceof IEditorNode) { if (!isCurrentPageValid()) { handleError(); } else if (!showPage((IEditorNode) selection)) { // Page flipping wasn't successful handleError(); } else { // Everything went well lastSuccessfulNode = (IEditorNode) selection; } } } }); ((Tree) viewer.getControl()).addSelectionListener(new SelectionAdapter() { @Override public void widgetDefaultSelected(final SelectionEvent event) { ISelection selection = viewer.getSelection(); if (selection.isEmpty()) return; IEditorNode 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 (currentPage != null) { currentPage.performHelp(); } } }); }
From source file:net.rim.ejde.internal.ui.editors.model.BlackBerryProjectOutlinePage.java
License:Open Source License
@Override public void selectionChanged(SelectionChangedEvent event) { super.selectionChanged(event); Object source = event.getSource(); BlackBerryProjectPropertiesPage page = null; Control control = null;//w w w . j av a2s. com if (source instanceof TreeViewer) { TreeViewer v = (TreeViewer) source; TreeSelection t = (TreeSelection) v.getSelection(); Object obj = t.getFirstElement(); if (obj instanceof BlackBerryProjectPropertiesPage) { page = (BlackBerryProjectPropertiesPage) obj; } else { page = (BlackBerryProjectPropertiesPage) t.getPaths()[0].getFirstSegment(); } if (_editor.getActivePage() != page.getIndex()) { _editor.setActivePage(page.getIndex()); } if (obj instanceof Control) { control = (Control) obj; control.setFocus(); if (control instanceof Text) { Text text = (Text) control; text.selectAll(); } } else if (obj instanceof TableItem) { // Table table = (Table) t.getPaths()[ 0 ].getParentPath().getLastSegment(); TreePath path = t.getPaths()[0]; Object parentObject = path.getSegment(path.getSegmentCount() - 2); if (parentObject instanceof Table) { Table table = (Table) parentObject; table.select(BlackBerryProjectPropertiesPage .getItemIndex(table, v.getTree().getSelection()[0].getText()).intValue()); } } } }
From source file:net.sf.eclipsensis.wizard.NSISWizardContentsPage.java
License:Open Source License
private List<INSISInstallElement> getSelectionList(TreeViewer tv) { List<INSISInstallElement> list = new ArrayList<INSISInstallElement>(); ISelection sel = tv.getSelection(); if (!sel.isEmpty() && sel instanceof IStructuredSelection) { for (Object o : ((IStructuredSelection) sel).toList()) { list.add((INSISInstallElement) o); }/*from ww w . j av a 2s. c om*/ } return list; }
From source file:net.sf.eclipsensis.wizard.settings.dialogs.NSISContentBrowserDialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { Composite composite = (Composite) super.createDialogArea(parent); NSISWizardDialogUtil.createLabel(composite, "wizard.select.shortcut.message", true, null, false); //$NON-NLS-1$ ViewerFilter vf = new ViewerFilter() { private HashSet<String> mFilterTypes = new HashSet<String>(Arrays.asList(new String[] { NSISInstaller.TYPE, NSISSectionGroup.TYPE, NSISSection.TYPE, NSISInstallDirectory.TYPE, NSISInstallFile.TYPE, NSISInstallFiles.TYPE, NSISInstallFiles.FileItem.FILEITEM_TYPE })); @Override//from www .j a va2 s. c o m public boolean select(Viewer viewer, Object parentElement, Object element) { if (element instanceof INSISInstallElement) { return mFilterTypes.contains(((INSISInstallElement) element).getType()); } return false; } }; final Tree tree = new Tree(composite, SWT.BORDER); GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true); tree.setLayoutData(gd); final TreeViewer tv = new TreeViewer(tree); tv.setLabelProvider(new NSISInstallElementLabelProvider()); tv.setContentProvider(new NSISInstallElementTreeContentProvider(mSettings)); tv.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { getButton(IDialogConstants.OK_ID).setEnabled(setElement(event.getSelection())); } }); tree.addSelectionListener(new SelectionAdapter() { @Override public void widgetDefaultSelected(SelectionEvent e) { if (setElement(tv.getSelection())) { buttonPressed(IDialogConstants.OK_ID); } } }); tv.setAutoExpandLevel(2); tv.addFilter(vf); tv.setInput(mSettings); return composite; }
From source file:net.sf.wdte.ui.views.outline.ModelBasedOutlinePage.java
License:Open Source License
/** * Selects a specific element in the outline page. * /*from w ww . j av a 2s .c o m*/ * @param element the element to select */ public void select(ISourceReference element) { TreeViewer viewer = getTreeViewer(); if (viewer != null) { ISelection selection = viewer.getSelection(); if (selection instanceof IStructuredSelection) { IStructuredSelection structuredSelection = (IStructuredSelection) selection; List elements = structuredSelection.toList(); if (!elements.contains(element)) { if (element == null) { selection = StructuredSelection.EMPTY; } else { selection = new StructuredSelection(element); } viewer.setSelection(selection, true); } } } }
From source file:net.sourceforge.sqlexplorer.plugin.views.DatabaseStructureView.java
License:Open Source License
/** * Add a new session to the database structure view. This will create a new tab for the session. * //from w w w .j av a2 s .c o m * @param session */ private void addSession(final MetaDataSession session) throws SQLCannotConnectException { if (_allSessions.contains(session)) { return; } try { session.getMetaData(); session.setAutoCommit(true); } catch (SQLCannotConnectException e) { SQLExplorerPlugin.error(e); throw e; } catch (SQLException e) { SQLExplorerPlugin.error(e); MessageDialog.openError(getSite().getShell(), "Cannot connect", e.getMessage()); } DatabaseNode rootNode = session.getRoot(); if (rootNode == null) { return; } _allSessions.add(session); if (_filterAction != null) { _filterAction.setEnabled(true); } if (_tabFolder == null || _tabFolder.isDisposed()) { clearParent(); // create tab folder for different sessions _tabFolder = new CTabFolder(_parent, SWT.TOP | SWT.CLOSE); // add listener to keep both views on the same active tab _tabFolder.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { // set the selected node in the detail view. DatabaseDetailView detailView = (DatabaseDetailView) getSite().getPage() .findView(SqlexplorerViewConstants.SQLEXPLORER_DBDETAIL); synchronizeDetailView(detailView); } }); // Set up a gradient background for the selected tab Display display = getSite().getShell().getDisplay(); _tabFolder.setSelectionBackground( new Color[] { display.getSystemColor(SWT.COLOR_WHITE), new Color(null, 211, 225, 250), new Color(null, 175, 201, 246), IConstants.TAB_BORDER_COLOR }, new int[] { 25, 50, 75 }, true); // Add a listener to handle the close button on each tab _tabFolder.addCTabFolder2Listener(new CTabFolder2Adapter() { @Override public void close(CTabFolderEvent event) { CTabItem tabItem = (CTabItem) event.item; TabData tabData = (TabData) tabItem.getData(); _allSessions.remove(tabData.session); event.doit = true; } }); _parent.layout(); _parent.redraw(); } // create tab final CTabItem tabItem = new CTabItem(_tabFolder, SWT.NULL); TabData tabData = new TabData(); tabItem.setData(tabData); tabData.session = session; // set tab text String labelText = session.getUser().getDescription(); tabItem.setText(labelText); // create composite for our outline Composite composite = new Composite(_tabFolder, SWT.NULL); composite.setLayout(new FillLayout()); tabItem.setControl(composite); // create outline final TreeViewer treeViewer = new TreeViewer(composite, SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI | SWT.BORDER); tabData.treeViewer = treeViewer; // add drag support // TODO improve drag support options Transfer[] transfers = new Transfer[] { TableNodeTransfer.getInstance() }; treeViewer.addDragSupport(DND.DROP_COPY, transfers, new DragSourceListener() { public void dragFinished(DragSourceEvent event) { System.out.println("$drag finished"); TableNodeTransfer.getInstance().setSelection(null); } public void dragSetData(DragSourceEvent event) { Object sel = ((IStructuredSelection) treeViewer.getSelection()).getFirstElement(); event.data = sel; } public void dragStart(DragSourceEvent event) { event.doit = !treeViewer.getSelection().isEmpty(); if (event.doit) { Object sel = ((IStructuredSelection) treeViewer.getSelection()).getFirstElement(); if (!(sel instanceof TableNode)) { event.doit = false; } else { TableNode tn = (TableNode) sel; TableNodeTransfer.getInstance().setSelection(tn); if (!tn.isTable()) { event.doit = false; } } } } }); // use hash lookup to improve performance treeViewer.setUseHashlookup(true); // add content and label provider treeViewer.setContentProvider(new DBTreeContentProvider()); treeViewer.setLabelProvider(new DBTreeLabelProvider()); // set input session treeViewer.setInput(rootNode); // add selection change listener, so we can update detail view as // required. treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent ev) { // set the selected node in the detail view. DatabaseDetailView detailView = (DatabaseDetailView) getSite().getPage() .findView(SqlexplorerViewConstants.SQLEXPLORER_DBDETAIL); synchronizeDetailView(detailView); } }); // bring detail to front on doubleclick of node treeViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { try { // find view DatabaseDetailView detailView = (DatabaseDetailView) getSite().getPage() .findView(SqlexplorerViewConstants.SQLEXPLORER_DBDETAIL); if (detailView == null) { getSite().getPage().showView(SqlexplorerViewConstants.SQLEXPLORER_DBDETAIL); } getSite().getPage().bringToTop(detailView); synchronizeDetailView(detailView); } catch (Exception e) { // fail silent } } }); // add expand/collapse listener treeViewer.addTreeListener(new ITreeViewerListener() { public void treeCollapsed(TreeExpansionEvent event) { // refresh the node to change image INode node = (INode) event.getElement(); node.setExpanded(false); TreeViewer viewer = (TreeViewer) event.getSource(); viewer.update(node, null); } public void treeExpanded(TreeExpansionEvent event) { // refresh the node to change image INode node = (INode) event.getElement(); node.setExpanded(true); TreeViewer viewer = (TreeViewer) event.getSource(); viewer.update(node, null); } }); // set new tab as the active one _tabFolder.setSelection(_tabFolder.getItemCount() - 1); // update detail view DatabaseDetailView detailView = (DatabaseDetailView) getSite().getPage() .findView(SqlexplorerViewConstants.SQLEXPLORER_DBDETAIL); if (detailView != null) { // synchronze detail view with new session synchronizeDetailView(detailView); // bring detail to top of the view stack getSite().getPage().bringToTop(detailView); } // refresh view composite.layout(); _tabFolder.layout(); _tabFolder.redraw(); // bring this view to top of the view stack, above detail if needed.. getSite().getPage().bringToTop(this); // add context menu final DBTreeActionGroup actionGroup = new DBTreeActionGroup(treeViewer); MenuManager menuManager = new MenuManager("DBTreeContextMenu"); menuManager.setRemoveAllWhenShown(true); Menu contextMenu = menuManager.createContextMenu(treeViewer.getTree()); treeViewer.getTree().setMenu(contextMenu); menuManager.addMenuListener(new IMenuListener() { public void menuAboutToShow(IMenuManager manager) { actionGroup.fillContextMenu(manager); } }); // if (sessionSelectionMap.containsKey(tabData.session)) { // tabData.treeViewer.setSelection(sessionSelectionMap.get(tabData.session)); // sessionSelectionMap.remove(tabData.session); // _allSessions.remove(tabData.session); // } }
From source file:net.tourbook.ui.action.ActionCollapseAll.java
License:Open Source License
@Override public void run() { if (_tourViewer != null) { final ColumnViewer viewer = _tourViewer.getViewer(); if (viewer instanceof TreeViewer) { final TreeViewer treeViewer = (TreeViewer) viewer; final Tree tree = treeViewer.getTree(); // disable redraw that the UI in not flickering tree.setRedraw(false);/*from w ww. ja va 2 s . co m*/ { try { treeViewer.collapseAll(); } catch (final Exception e) { // this occured } } tree.setRedraw(true); try { final StructuredSelection selection = (StructuredSelection) treeViewer.getSelection(); if (selection != null) { final Object firstElement = selection.getFirstElement(); if (firstElement != null) { treeViewer.reveal(firstElement); } } } catch (final Exception e) { // this occured, ensure something is selected otherwise further NPEs occure final TreeItem[] selection = tree.getSelection(); for (final TreeItem treeItem : selection) { final Object itemData = treeItem.getData(); _tourViewer.getViewer().setSelection(new StructuredSelection(itemData), true); break; } } } } }
From source file:net.tourbook.ui.action.ActionCollapseOthers.java
License:Open Source License
@Override public void run() { if (fTourViewer != null) { final ColumnViewer viewer = fTourViewer.getViewer(); if (viewer instanceof TreeViewer) { final TreeViewer treeViewer = (TreeViewer) viewer; final Object firstElement = ((StructuredSelection) treeViewer.getSelection()).getFirstElement(); if (firstElement != null) { final Tree tree = treeViewer.getTree(); tree.setRedraw(false);//www . j a va2 s . com { treeViewer.collapseAll(); treeViewer.setExpandedElements(new Object[] { firstElement }); treeViewer.setSelection(new StructuredSelection(firstElement), true); } tree.setRedraw(true); } } } }
From source file:net.tourbook.ui.action.ActionExpandSelection.java
License:Open Source License
@Override public void run() { if (_tourViewer == null) { return;//from ww w . j a v a 2s .c om } final ColumnViewer viewer = _tourViewer.getViewer(); if (viewer instanceof TreeViewer) { final TreeViewer treeViewer = (TreeViewer) viewer; final ITreeSelection selection = (ITreeSelection) treeViewer.getSelection(); if (selection.size() == 0) { return; } final Tree tree = treeViewer.getTree(); tree.setRedraw(false); { for (final Iterator<?> iterator = selection.iterator(); iterator.hasNext();) { treeViewer.expandToLevel(iterator.next(), _expandLevels); } } tree.setRedraw(true); } }