List of usage examples for org.eclipse.jface.viewers OpenEvent getViewer
public Viewer getViewer()
From source file:com.google.dart.tools.search.ui.text.AbstractTextSearchViewPage.java
License:Open Source License
/** * <p>/*from w ww.j av a2 s . c om*/ * This method is called when the search page gets an 'open' event from its underlying viewer (for * example on double click). The default implementation will open the first match on any element * that has matches. If the element to be opened is an inner node in the tree layout, the node * will be expanded if it's collapsed and vice versa. Subclasses are allowed to override this * method. * </p> * * @param event the event sent for the currently shown viewer * @see IOpenListener */ protected void handleOpen(OpenEvent event) { Viewer viewer = event.getViewer(); boolean hasCurrentMatch = showCurrentMatch(OpenStrategy.activateOnOpen()); ISelection sel = event.getSelection(); if (viewer instanceof TreeViewer && sel instanceof IStructuredSelection) { IStructuredSelection selection = (IStructuredSelection) sel; TreeViewer tv = (TreeViewer) getViewer(); Object element = selection.getFirstElement(); if (element != null) { if (!hasCurrentMatch && getDisplayedMatchCount(element) > 0) { gotoNextMatch(OpenStrategy.activateOnOpen()); } else { tv.setExpandedState(element, !tv.getExpandedState(element)); } } return; } else if (!hasCurrentMatch) { gotoNextMatch(OpenStrategy.activateOnOpen()); } }
From source file:com.nokia.carbide.search.system.ui.text.AbstractTextSearchViewPage.java
License:Open Source License
/** * <p>This method is called when the search page gets an open even from it's * underlying viewer (for example on double click). The default * implementation will open the first match on any element that has matches. * If the element to be opened is an inner node in the tree layout, the node * will be expanded if it's collapsed and vice versa. Subclasses are allowed * to override this method./* w w w . j a v a 2s . c o m*/ * </p> * @param event * the event sent for the currently shown viewer * * @see IOpenListener */ protected void handleOpen(OpenEvent event) { Viewer viewer = event.getViewer(); boolean hasCurrentMatch = showCurrentMatch(OpenStrategy.activateOnOpen()); ISelection sel = event.getSelection(); if (viewer instanceof TreeViewer && sel instanceof IStructuredSelection) { IStructuredSelection selection = (IStructuredSelection) sel; TreeViewer tv = (TreeViewer) getViewer(); Object element = selection.getFirstElement(); if (element != null) { if (!hasCurrentMatch && getDisplayedMatchCount(element) > 0) gotoNextMatch(OpenStrategy.activateOnOpen()); else tv.setExpandedState(element, !tv.getExpandedState(element)); } return; } else if (!hasCurrentMatch) { gotoNextMatch(OpenStrategy.activateOnOpen()); } }
From source file:org.eclipse.egit.ui.internal.dialogs.CompareTreeView.java
License:Open Source License
private void reactOnOpen(OpenEvent event) { Object selected = ((IStructuredSelection) event.getSelection()).getFirstElement(); ITypedElement left;//from w ww. j a v a 2s . co m ITypedElement right; if (selected instanceof IContainer) { // open/close folder TreeViewer tv = (TreeViewer) event.getViewer(); tv.setExpandedState(selected, !tv.getExpandedState(selected)); return; } else if (selected instanceof IFile) { final IFile res = (IFile) selected; LocalFileRevision revision = new LocalFileRevision(res); left = new FileEditableRevision(revision, res, PlatformUI.getWorkbench().getProgressService()); GitFileRevision rightRevision = compareVersionMap .get(new Path(repositoryMapping.getRepoRelativePath(res))); if (rightRevision == null) { right = new GitCompareFileRevisionEditorInput.EmptyTypedElement(NLS.bind( UIText.CompareTreeView_ItemNotFoundInVersionMessage, res.getName(), getCompareVersion())); } else { String encoding = CompareCoreUtils.getResourceEncoding(res); right = new FileRevisionTypedElement(rightRevision, encoding); } } else if (selected instanceof GitFileRevision) { GitFileRevision rightRevision = (GitFileRevision) selected; left = new GitCompareFileRevisionEditorInput.EmptyTypedElement( NLS.bind(UIText.CompareTreeView_ItemNotFoundInVersionMessage, rightRevision.getName(), getBaseVersion())); right = new FileRevisionTypedElement(rightRevision, null); } else if (selected instanceof PathNode) { PathNode node = (PathNode) selected; String encoding = CompareCoreUtils.getResourceEncoding(getRepository(), node.getRepoRelativePath()); switch (node.type) { case FILE_BOTH_SIDES_DIFFER: // fall through case FILE_BOTH_SIDES_SAME: { // open a compare editor with both sides filled GitFileRevision rightRevision = compareVersionMap.get(node.path); right = new FileRevisionTypedElement(rightRevision, encoding); GitFileRevision leftRevision = baseVersionMap.get(node.path); left = new FileRevisionTypedElement(leftRevision, encoding); break; } case FILE_DELETED: { // open compare editor with left side empty GitFileRevision rightRevision = compareVersionMap.get(node.path); right = new FileRevisionTypedElement(rightRevision, encoding); left = new GitCompareFileRevisionEditorInput.EmptyTypedElement( NLS.bind(UIText.CompareTreeView_ItemNotFoundInVersionMessage, rightRevision.getName(), getBaseVersion())); break; } case FILE_ADDED: { // open compare editor with right side empty GitFileRevision leftRevision = baseVersionMap.get(node.path); left = new FileRevisionTypedElement(leftRevision, encoding); right = new GitCompareFileRevisionEditorInput.EmptyTypedElement( NLS.bind(UIText.CompareTreeView_ItemNotFoundInVersionMessage, leftRevision.getName(), getCompareVersion())); break; } case FOLDER: // open/close folder TreeViewer tv = (TreeViewer) event.getViewer(); tv.setExpandedState(selected, !tv.getExpandedState(selected)); return; default: return; } } else if (selected instanceof PathNodeAdapter) { // deleted in workspace PathNodeAdapter node = (PathNodeAdapter) selected; GitFileRevision rightRevision = compareVersionMap.get(node.pathNode.path); String encoding = CompareCoreUtils.getResourceEncoding(getRepository(), node.pathNode.getRepoRelativePath()); right = new FileRevisionTypedElement(rightRevision, encoding); left = new GitCompareFileRevisionEditorInput.EmptyTypedElement( NLS.bind(UIText.CompareTreeView_ItemNotFoundInVersionMessage, node.pathNode.path.lastSegment(), getBaseVersion())); } else return; GitCompareFileRevisionEditorInput compareInput = new GitCompareFileRevisionEditorInput(left, right, PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()); CompareUtils.openInCompare(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(), compareInput); }
From source file:org.eclipse.recommenders.rcp.utils.Selections.java
License:Open Source License
public static <T> Optional<T> getFirstSelected(OpenEvent e) { ISelection selection = e.getViewer().getSelection(); return getFirstSelected(selection); }
From source file:org.kalypso.debug.view.PoolView.java
License:Open Source License
/** * @see org.eclipse.ui.IWorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite) *///w ww . j a v a 2 s. com @Override public void createPartControl(final Composite parent) { m_viewer = new TableViewer(parent, SWT.NONE); m_viewer.setContentProvider(new ArrayContentProvider()); m_viewer.setLabelProvider(this); m_viewer.addOpenListener(new IOpenListener() { @Override public void open(final OpenEvent event) { final ISelection selection = event.getSelection(); if (!selection.isEmpty() && selection instanceof IStructuredSelection) { final KeyInfo info = (KeyInfo) ((IStructuredSelection) selection).getFirstElement(); final IPoolListener[] listeners = info.getPoolListeners(); final LabelProvider labelProvider = new LabelProvider() { /** * @see org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object) */ @Override public String getText(final Object element) { if (element != null) return super.getText(element) + " (" + element.getClass().getName() + ")"; return super.getText(element); } }; final ListSelectionDialog dialog = new ListSelectionDialog( event.getViewer().getControl().getShell(), listeners, new ArrayContentProvider(), labelProvider, "Listeners for KeyInfo: " + info); if (dialog.open() == Window.OK) printAddTraces(info, dialog.getResult()); } } }); final Table table = m_viewer.getTable(); table.setToolTipText("Doppelklick fr Liste der Listener"); table.setHeaderVisible(true); for (final Object element : m_columns) { final PoolViewColumn col = (PoolViewColumn) element; final TableColumn keytc = new TableColumn(table, SWT.BEGINNING); keytc.setText(col.text); keytc.setWidth(col.width); } }
From source file:org.springframework.ide.eclipse.aop.ui.matcher.PointcutMatcherResultPage.java
License:Open Source License
protected void handleOpen(OpenEvent event) { Viewer viewer = event.getViewer(); ISelection sel = event.getSelection(); if (viewer instanceof TreeViewer && sel instanceof IStructuredSelection) { IStructuredSelection selection = (IStructuredSelection) sel; Object element = selection.getFirstElement(); if (getDisplayedMatches(element).length != 0) { super.handleOpen(event); } else {/* w w w . j av a 2 s . com*/ showElement(true, element); } } }