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:org.bundlemaker.core.ui.editor.xref3.TreeSelectionSnapshot.java
License:Open Source License
/** * @param treeViewer// ww w . j av a 2s. c om * @param b */ public void addSelection(TreeViewer treeViewer, boolean currentTree) { TreeSelection selection = new TreeSelection(treeViewer, treeViewer.getSelection()); if (!currentTree) { _treeSelections.add(0, selection); } else { // current tree selection must be last in order to select it last if it's re-selected _treeSelections.add(selection); } }
From source file:org.camunda.bpm.modeler.ui.dialog.importer.ModelProblemsDialog.java
License:Open Source License
private void createProblemsTreeView(Composite parent) { // clipboard to copy and paste from / to final Clipboard clipboard = new Clipboard(parent.getDisplay()); Composite treeColumnComposite = new Composite(parent, SWT.NONE); GridData treeColumnCompositeGridData = new GridData(SWT.FILL, SWT.TOP, true, false); treeColumnCompositeGridData.widthHint = 420; treeColumnCompositeGridData.heightHint = 128; treeColumnComposite.setLayoutData(treeColumnCompositeGridData); TreeColumnLayout treeColumnLayout = new TreeColumnLayout(); treeColumnComposite.setLayout(treeColumnLayout); final TreeViewer treeViewer = new TreeViewer(treeColumnComposite, SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); Tree tree = treeViewer.getTree();/*from w ww .ja va2 s . c o m*/ tree.setLinesVisible(true); treeViewer.setContentProvider(new ProblemsContentProvider()); treeViewer.setLabelProvider(new ProblemLabelProvider()); Menu menu = new Menu(parent.getShell(), SWT.POP_UP); final MenuItem copyItem = new MenuItem(menu, SWT.PUSH); copyItem.setText("Copy Stacktrace to Clipboard"); String imageName = ISharedImages.IMG_TOOL_COPY; copyItem.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(imageName)); copyItem.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent event) { IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection(); Problem problem = (Problem) selection.getFirstElement(); copyToClipboard(clipboard, problem); } }); treeViewer.getTree().setMenu(menu); List<Problem> problems = populateProblems(); // Expand the tree treeViewer.setAutoExpandLevel(2); // Provide the input to the ContentProvider treeViewer.setInput(problems); }
From source file:org.cs3.pdt.analysis.views.AbstractAnalysisView.java
License:Open Source License
protected TreeViewer createResultTreeViewer(Composite parent) { final TreeViewer treeViewer = new TreeViewer(parent, 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; Tree tree = treeViewer.getTree();//from w w w . j ava2 s . c om tree.addMouseListener(new MouseListener() { @Override public void mouseUp(MouseEvent e) { } @Override public void mouseDown(MouseEvent e) { } @Override public void mouseDoubleClick(MouseEvent e) { ISelection selection = treeViewer.getSelection(); if (selection instanceof ITreeSelection) { Object o = ((ITreeSelection) selection).getFirstElement(); if (o instanceof IResult) { selectResultInEditor((IResult) o); } } } }); tree.setLayoutData(gridData); tree.setHeaderVisible(true); tree.setLinesVisible(true); resultContentProvider = new ResultTableContentProvider(getResultModel()); treeViewer.setContentProvider(resultContentProvider); treeViewer.setInput(new Object()); resultTreeViewerColumns = new TreeViewerColumn[3]; for (int i = 0; i < resultTreeViewerColumns.length; i++) { resultTreeViewerColumns[i] = new TreeViewerColumn(treeViewer, SWT.NONE); resultTreeViewerColumns[i].getColumn().setMoveable(true); } resultTreeViewerColumns[0].getColumn().setWidth(300); resultTreeViewerColumns[0].getColumn().setText("Description"); resultTreeViewerColumns[0].setLabelProvider(new ResultTableDescriptionColumnLabelProvider()); resultTreeViewerColumns[1].getColumn().setWidth(150); resultTreeViewerColumns[1].getColumn().setText("Resource"); resultTreeViewerColumns[1].setLabelProvider(new ResultTableResourceColumnLabelProvider()); resultTreeViewerColumns[2].getColumn().setWidth(100); resultTreeViewerColumns[2].getColumn().setText("Location"); resultTreeViewerColumns[2].setLabelProvider(new ResultTableLocationColumnLabelProvider()); return treeViewer; }
From source file:org.csstudio.dal.ui.internal.developmentsupport.util.ContainerView.java
License:Open Source License
private void createPvProviderTree(final Composite parent) { final TreeViewer tv = new TreeViewer(parent); tv.setContentProvider(new BaseWorkbenchContentProvider() { /**/*from ww w . j a v a 2 s. com*/ * {@inheritDoc} */ @Override public Object[] getElements(final Object element) { return (Object[]) element; } }); tv.setLabelProvider(new WorkbenchLabelProvider()); tv.setInput(_samplePvAdresses); getViewSite().setSelectionProvider(tv); // add drag support ProcessVariableExchangeUtil.addProcessVariableAdressDragSupport(tv.getTree(), DND.DROP_MOVE | DND.DROP_COPY, new IProcessVariableAdressProvider() { @Override public IProcessVariableAddress getPVAdress() { final List<IProcessVariableAddress> l = getProcessVariableAdresses(); if (l.size() > 0) { return l.get(0); } return null; } @Override public List<IProcessVariableAddress> getProcessVariableAdresses() { final IStructuredSelection sel = (IStructuredSelection) tv.getSelection(); final List<IProcessVariableAddress> list = sel.toList(); return list; } }); // create context menu configureContextMenu(tv); }
From source file:org.csstudio.dal.ui.internal.developmentsupport.util.ContainerView.java
License:Open Source License
private void createTextProviderTree(final Composite parent) { final TreeViewer tv = new TreeViewer(parent); tv.setContentProvider(new BaseWorkbenchContentProvider() { /**// w w w . j ava 2 s.com * {@inheritDoc} */ @Override public Object[] getElements(final Object element) { return (Object[]) element; } }); tv.setLabelProvider(new WorkbenchLabelProvider()); tv.setInput(_sampleStrings); getViewSite().setSelectionProvider(tv); // add drag support // FIXME: nur Text-Support anbieten // ProcessVariableExchangeUtil.addProcessVariableAdressDragSupport( // pvAdressesTv.getTree(), DND.DROP_MOVE | DND.DROP_COPY, this); final DragSource dragSource = new DragSource(tv.getControl(), DND.DROP_MOVE | DND.DROP_COPY); final Transfer[] types = new Transfer[] { TextTransfer.getInstance() }; dragSource.setTransfer(types); dragSource.addDragListener(new DragSourceAdapter() { @Override public void dragSetData(final DragSourceEvent event) { if (TextTransfer.getInstance().isSupportedType(event.dataType)) { final IStructuredSelection sel = (IStructuredSelection) tv.getSelection(); final List<String> list = sel.toList(); final StringBuffer sb = new StringBuffer(); for (final String s : list) { sb.append(s); sb.append("\n"); //$NON-NLS-1$ } event.data = sb.toString(); } } }); // create context menu configureContextMenu(tv); }
From source file:org.dawnsci.breadcrumb.navigation.views.StyledTreeBreadcrumbViewer.java
License:Open Source License
@Override protected void configureDropDownViewer(final TreeViewer viewer, Object input) { // We add a label to view the text seaches with this.searchLabel = new Label(viewer.getControl().getParent(), SWT.NONE); searchLabel.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); GridUtils.setVisible(searchLabel, false); searchLabel.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_WHITE)); viewer.setContentProvider(new TreeNodeContentProvider((TreeNode) input)); final IStyledTreeLabelProvider lprov = createBeadcrumbLabelProvider(); viewer.setLabelProvider(new DelegatingStyledCellLabelProvider(lprov)); viewer.setInput(input);//from w w w . ja v a 2 s . c o m viewer.addSelectionChangedListener(new ISelectionChangedListener() { boolean first = true; @Override public void selectionChanged(SelectionChangedEvent event) { if (!isOn) return; try { isOn = false; if (first) { first = false; return; } DefaultMutableTreeNode sel = (DefaultMutableTreeNode) ((StructuredSelection) event .getSelection()).getFirstElement(); StyledTreeBreadcrumbViewer.this.setInput(sel); StyledTreeBreadcrumbViewer.this.setSelection(new StructuredSelection(sel)); if (!viewer.getControl().isDisposed()) { if (!viewer.getControl().getShell().isDisposed()) { viewer.getControl().getShell().setVisible(false); } } boolean isBranch = isBranch(sel.getUserObject()); if (sel.getChildCount() > 0 && isBranch) { StyledTreeBreadcrumbViewer.this.showMenu(); } } finally { isOn = true; } } }); viewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { Object sel = ((StructuredSelection) viewer.getSelection()).getFirstElement(); StyledTreeBreadcrumbViewer.this.setInput(sel); StyledTreeBreadcrumbViewer.this.setSelection(new StructuredSelection(sel)); if (!viewer.getControl().isDisposed()) { if (!viewer.getControl().getShell().isDisposed()) { viewer.getControl().getShell().setVisible(false); } } } }); /** * This listener is rather complex. It gives filtering * by search key and pressing enter to make the breadcrumb * like a context proposing text field. */ viewer.getControl().addKeyListener(new KeyListener() { private Job textBufferJob; private StringBuffer textBuffer = new StringBuffer(); Job getJob() { if (textBufferJob != null) return textBufferJob; textBufferJob = new Job("Text Buffer") { public IStatus run(IProgressMonitor monitor) { if (monitor.isCanceled()) return Status.CANCEL_STATUS; textBuffer.delete(0, textBuffer.length()); Display.getDefault().syncExec(new Runnable() { public void run() { if (searchLabel.isDisposed() || searchLabel.getParent().isDisposed()) return; GridUtils.setVisible(searchLabel, false); searchLabel.setText(""); searchLabel.getParent().layout(); if (!viewer.getControl().isDisposed()) { viewer.getControl().setFocus(); } } }); return Status.OK_STATUS; } }; textBufferJob.setPriority(Job.INTERACTIVE); textBufferJob.setSystem(true); return textBufferJob; } @Override public void keyReleased(KeyEvent e) { // TODO Auto-generated method stub } @Override public void keyPressed(KeyEvent e) { if (e.character == '\r') { TreeNode child = (TreeNode) ((StructuredSelection) viewer.getSelection()).getFirstElement(); if (child != null) { setSelection(new StructuredSelection(child)); Display.getDefault().asyncExec(new Runnable() { public void run() { final Object node = ((StructuredSelection) getSelection()).getFirstElement(); if (isBranch(node)) showMenu(); } }); } return; } getJob().cancel(); try { if (!isOn) return; isOn = false; e.doit = false; switch (e.keyCode) { case SWT.HOME: case SWT.END: case SWT.PAGE_UP: case SWT.PAGE_DOWN: case SWT.ARROW_UP: case SWT.ARROW_DOWN: position(viewer, e.keyCode); return; } if (e.character == '\b') { if (textBuffer.length() > 0) textBuffer.deleteCharAt(textBuffer.length() - 1); } else { textBuffer.append(e.character); } TreeNode child = (TreeNode) ((StructuredSelection) viewer.getSelection()).getFirstElement(); TreeNode parent = child != null ? (TreeNode) child.getParent() : null; if (child == null && parent == null) return; Map<String, Object> uObs = getUserObjects(lprov, parent); for (String key : uObs.keySet()) { Object node = uObs.get(key); if (key.toLowerCase().contains(textBuffer.toString())) { viewer.setSelection(new StructuredSelection(node)); return; } } } finally { isOn = true; getJob().schedule(2000); if (searchLabel.isDisposed() || searchLabel.getParent().isDisposed()) return; GridUtils.setVisible(searchLabel, textBuffer.length() > 0); searchLabel.setText(textBuffer.toString()); searchLabel.getParent().layout(); } } }); }
From source file:org.dawnsci.breadcrumb.navigation.views.StyledTreeBreadcrumbViewer.java
License:Open Source License
protected void position(TreeViewer viewer, int keyCode) { TreeNode child = (TreeNode) ((StructuredSelection) viewer.getSelection()).getFirstElement(); TreeNode parent = child != null ? (TreeNode) child.getParent() : null; if (child == null && parent == null) return;/*ww w . j a v a 2 s . com*/ if (keyCode == SWT.HOME) { viewer.setSelection(new StructuredSelection(parent.getChildAt(0))); return; } else if (keyCode == SWT.END) { viewer.setSelection(new StructuredSelection(parent.getChildAt(parent.getChildCount() - 1))); return; } int index = parent.getIndex(child); if (keyCode == SWT.ARROW_UP && index > 0) { viewer.setSelection(new StructuredSelection(parent.getChildAt(index - 1))); return; } else if (keyCode == SWT.ARROW_DOWN && index < parent.getChildCount() - 1) { viewer.setSelection(new StructuredSelection(parent.getChildAt(index + 1))); return; } }
From source file:org.dawnsci.common.widgets.gda.function.FunctionTreeViewerPluginTestBase.java
License:Open Source License
/** Trigger edit on currently selected row for the given column */ protected Text editElement(COLUMN column) { FunctionTreeViewer functionTreeViewer = getFunctionTreeViewer(); TreeViewer treeViewer = functionTreeViewer.getTreeViewer(); ISelection selection = treeViewer.getSelection(); assertTrue("Row must already be selected!", selection instanceof StructuredSelection); StructuredSelection structuredSelection = (StructuredSelection) selection; Object element = structuredSelection.getFirstElement(); assertTrue("Selection is of unexpected type", element instanceof FunctionModelElement); treeViewer.editElement(element, column.COLUMN_INDEX); ITextEditingSupport support = functionTreeViewer.getColumnEditingSupport(column); Text text = (Text) support.getTextCellEditor().getControl(); return text;//from w ww . j a v a2s.co m }
From source file:org.dev.toos.constcode.ui.handler.consttree.ConstTreeAddAdapter.java
License:Apache License
@Override public void widgetSelected(SelectionEvent e) { TreeViewer treeViewer = this.getViewPage().getConstTreeViewer(); TreeSelection selection = (TreeSelection) treeViewer.getSelection(); ConstGroup atGroup = null;/*from w ww. java 2 s. c o m*/ int index = -1; if (selection.isEmpty() == true) { atGroup = ConstModelSet.getActivateModel().getCurrentGroup(); if (atGroup == null) atGroup = ConstModelSet.getActivateModel().getGroups().get(0); if (atGroup.isReadOnly() == true) return; } else { ConstBeanBridge constElement = (ConstBeanBridge) selection.getFirstElement(); atGroup = constElement.getSource(); index = constElement.getSource().constList().indexOf(constElement); } // ConstBeanBridge newConst = new ConstBeanBridge(null, atGroup); atGroup.addConst(index + 1, newConst); treeViewer.refresh(); treeViewer.setSelection(new TreeSelection(new TreePath(new Object[] { newConst })), true); newConst.doEdit(); treeViewer.editElement(newConst, 0); }
From source file:org.dev.toos.constcode.ui.handler.consttree.ConstTreeDeleteAdapter.java
License:Apache License
@Override public void widgetSelected(SelectionEvent e) { TreeViewer treeViewer = this.getViewPage().getConstTreeViewer(); TreeSelection selection = (TreeSelection) treeViewer.getSelection(); if (selection.isEmpty() == true) return;//from w w w. j a v a2s .c om Iterator<Object> iterator = selection.iterator(); while (iterator.hasNext()) { ConstBeanBridge bridge = (ConstBeanBridge) iterator.next(); if (bridge.readOnly() == true) return; bridge.getSource().deleteConst(bridge); } treeViewer.refresh(); this.getViewPage().getVarTreeViewer().refresh(); }