Example usage for org.eclipse.jface.viewers OpenEvent getViewer

List of usage examples for org.eclipse.jface.viewers OpenEvent getViewer

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers OpenEvent getViewer.

Prototype

public Viewer getViewer() 

Source Link

Document

Returns the viewer that is the source of this event.

Usage

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);
        }
    }
}