Example usage for org.eclipse.jface.viewers TreeViewer getSelection

List of usage examples for org.eclipse.jface.viewers TreeViewer getSelection

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers TreeViewer getSelection.

Prototype

@Override
public ISelection getSelection() 

Source Link

Document

The AbstractTreeViewer implementation of this method returns the result as an ITreeSelection.

Usage

From source file:org.eclipse.babel.editor.tree.internal.KeyTreeContributor.java

License:Open Source License

/**
 * Contributes double-click support, expanding/collapsing nodes.
 *
 * @param treeViewer//w  ww . j a  v  a 2  s. c om
 *            tree viewer
 */
private void contributeDoubleClick(final TreeViewer treeViewer) {
    treeViewer.getTree().addMouseListener(new MouseAdapter() {
        public void mouseDoubleClick(MouseEvent event) {
            IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection();
            Object element = selection.getFirstElement();
            if (treeViewer.isExpandable(element)) {
                if (treeViewer.getExpandedState(element)) {
                    treeViewer.collapseToLevel(element, 1);
                } else {
                    treeViewer.expandToLevel(element, 1);
                }
            }
        }
    });
}

From source file:org.eclipse.babel.editor.tree.internal.KeyTreeContributor.java

License:Open Source License

/**
 * Contributes key synchronization between editor and tree selected keys.
 *
 * @param treeViewer//from  www  .  j  a  va 2  s.c  om
 *            tree viewer
 */
private void contributeKeySync(final TreeViewer treeViewer) {
    // changes in tree selected key update the editor
    treeViewer.getTree().addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection();
            if (selection != null && selection.getFirstElement() != null) {
                KeyTreeNode node = (KeyTreeNode) selection.getFirstElement();
                LOGGER.log(Level.INFO, "viewer key/hash:" + node.getMessageKey() + "/" + node.hashCode());
                editor.setSelectedKey(node.getMessageKey());
            } else {
                editor.setSelectedKey(null);
            }
        }
    });
    // changes in editor selected key updates the tree
    editor.addChangeListener(new MessagesEditorChangeAdapter() {
        public void selectedKeyChanged(String oldKey, String newKey) {
            ITreeContentProvider provider = (ITreeContentProvider) treeViewer.getContentProvider();
            if (provider != null) { // alst workaround
                KeyTreeNode node = findKeyTreeNode(provider, provider.getElements(null), newKey);
                if (node != null) {
                    treeViewer.setSelection(new StructuredSelection(node), true);
                    treeViewer.getTree().showSelection();
                }
            }
        }
    });
}

From source file:org.eclipse.babel.editor.tree.internal.KeyTreeContributor.java

License:Open Source License

/**
 * Contributes actions to the tree./* w ww .j  av  a 2 s  . c om*/
 *
 * @param treeViewer
 *            tree viewer
 */
private void contributeActions(final TreeViewer treeViewer) {
    Tree tree = treeViewer.getTree();

    // Add menu
    MenuManager menuManager = new MenuManager();
    Menu menu = menuManager.createContextMenu(tree);

    // Add
    final IAction addAction = new AddKeyAction(editor, treeViewer);
    menuManager.add(addAction);
    // Delete
    final IAction deleteAction = new DeleteKeyAction(editor, treeViewer);
    menuManager.add(deleteAction);

    // Refactor
    final IAction refactorAction = new RefactorKeyAction(editor, treeViewer);
    menuManager.add(refactorAction);

    menuManager.update(true);
    menuManager.addMenuListener(new IMenuListener() {

        @Override
        public void menuAboutToShow(IMenuManager manager) {
            IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection();
            KeyTreeNode node = (KeyTreeNode) selection.getFirstElement();
            refactorAction.setEnabled(node != null && node.getChildren().length == 0);
            deleteAction.setEnabled(node != null);
        }
    });
    tree.setMenu(menu);

    // Bind actions to tree
    tree.addKeyListener(new KeyAdapter() {
        public void keyReleased(KeyEvent event) {
            if (event.character == SWT.DEL) {
                deleteAction.run();
            }
        }
    });
}

From source file:org.eclipse.babel.editor.tree.KeyTreeContributor.java

License:Open Source License

/**
 * Contributes double-click support, expanding/collapsing nodes.
 * @param treeViewer tree viewer/* w  w w.  ja v  a 2 s  .  c o m*/
 */
private void contributeDoubleClick(final TreeViewer treeViewer) {
    treeViewer.getTree().addMouseListener(new MouseAdapter() {
        @Override
        public void mouseDoubleClick(final MouseEvent event) {
            final IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection();
            final Object element = selection.getFirstElement();
            if (treeViewer.isExpandable(element)) {
                if (treeViewer.getExpandedState(element)) {
                    treeViewer.collapseToLevel(element, 1);
                } else {
                    treeViewer.expandToLevel(element, 1);
                }
            }
        }
    });
}

From source file:org.eclipse.babel.editor.tree.KeyTreeContributor.java

License:Open Source License

/**
 * Contributes key synchronization between editor and tree selected keys.
 * @param treeViewer tree viewer//w  w  w.j a va  2 s . co m
 */
private void contributeKeySync(final TreeViewer treeViewer) {
    // changes in tree selected key update the editor
    treeViewer.getTree().addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(final SelectionEvent e) {
            final IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection();
            if (selection != null && selection.getFirstElement() != null) {
                final KeyTreeNode node = (KeyTreeNode) selection.getFirstElement();
                System.out.println("viewer key/hash:" + node.getMessageKey() + "/" + node.hashCode());
                editor.setSelectedKey(node.getMessageKey());
            } else {
                editor.setSelectedKey(null);
            }
        }
    });
    // changes in editor selected key updates the tree
    editor.addChangeListener(new MessagesEditorChangeAdapter() {
        @Override
        public void selectedKeyChanged(final String oldKey, final String newKey) {
            final ITreeContentProvider provider = (ITreeContentProvider) treeViewer.getContentProvider();
            final KeyTreeNode node = findKeyTreeNode(provider, provider.getElements(null), newKey);
            System.out.println("editor key/hash:" + node.getMessageKey() + "/" + node.hashCode());

            //                String[] test = newKey.split("\\.");
            //                treeViewer.setSelection(new StructuredSelection(test), true);

            treeViewer.setSelection(new StructuredSelection(node), true);
            treeViewer.getTree().showSelection();
        }
    });
}

From source file:org.eclipse.babel.editor.tree.KeyTreeContributor.java

License:Open Source License

/**
 * Contributes key synchronization between editor and tree selected keys.
 * @param treeViewer tree viewer/*from   w  w  w  . j  a  va2s.  co  m*/
 */
private void contributeKeySync(final TreeViewer treeViewer) {
    // changes in tree selected key update the editor
    treeViewer.getTree().addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection();
            if (selection != null && selection.getFirstElement() != null) {
                KeyTreeNode node = (KeyTreeNode) selection.getFirstElement();
                System.out.println("viewer key/hash:" + node.getMessageKey() + "/" + node.hashCode());
                editor.setSelectedKey(node.getMessageKey());
            } else {
                editor.setSelectedKey(null);
            }
        }
    });
    // changes in editor selected key updates the tree
    editor.addChangeListener(new MessagesEditorChangeAdapter() {
        public void selectedKeyChanged(String oldKey, String newKey) {
            ITreeContentProvider provider = (ITreeContentProvider) treeViewer.getContentProvider();
            KeyTreeNode node = findKeyTreeNode(provider, provider.getElements(null), newKey);
            System.out.println("editor key/hash:" + node.getMessageKey() + "/" + node.hashCode());

            //                String[] test = newKey.split("\\.");
            //                treeViewer.setSelection(new StructuredSelection(test), true);

            treeViewer.setSelection(new StructuredSelection(node), true);
            treeViewer.getTree().showSelection();
        }
    });
}

From source file:org.eclipse.birt.report.debug.internal.ui.script.outline.ScriptViewContextMenuProvider.java

License:Open Source License

public void buildContextMenu(IMenuManager menu) {
    menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
    TreeViewer treeViewer = (TreeViewer) getViewer();

    IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection();

    //temporary solution

    if (selection.size() == 1) {
        Object obj = selection.getFirstElement();
        ScriptProviderFactory.createProvider(obj).createContextMenu(treeViewer, obj, menu);
    } else {//  w  w  w . java  2 s. c  o  m
        ScriptProviderFactory.getDefaultProvider().createContextMenu(treeViewer, selection, menu);

    }
}

From source file:org.eclipse.birt.report.designer.internal.ui.views.ViewContextMenuProvider.java

License:Open Source License

/**
 * Builds the context menu. Single selection menu and multiple selection
 * menu are created while selecting just single element or multiple elements
 * //from w  w  w . j a v a 2 s  .c  o m
 * 
 * @param menu
 *            the menu
 */
public void buildContextMenu(IMenuManager menu) {
    menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
    TreeViewer treeViewer = (TreeViewer) getViewer();

    IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection();

    // temporary solution
    Object input = treeViewer.getInput();
    if (input instanceof Object[]) {
        Object[] inputs = (Object[]) input;
        if (inputs.length == 1 && inputs[0] instanceof ReportDesignHandle) {
            for (Iterator iter = selection.iterator(); iter.hasNext();) {
                if (isIncludedLibrary(iter.next())) {
                    return;
                }
            }
        }
    }

    if (selection.size() == 1) {
        // Create Single Selection Menu
        Object obj = selection.getFirstElement();
        if (ProviderFactory.createProvider(obj) != null) {
            ProviderFactory.createProvider(obj).createContextMenu(treeViewer, obj, menu);
        }
        if (Policy.TRACING_MENU_SHOW) {
            System.out.println("Menu(for Views) >> Shows for " //$NON-NLS-1$
                    + ProviderFactory.createProvider(obj).getNodeDisplayName(obj));
        }
    } else {
        // Added by ywang on 2004.9.15
        // Create Multiple Selection Menu
        if (ProviderFactory.getDefaultProvider() != null) {
            ProviderFactory.getDefaultProvider().createContextMenu(treeViewer, selection, menu);
        }

        if (Policy.TRACING_MENU_SHOW) {
            System.out.println("Menu(for Views) >> Shows for multi-selcetion."); //$NON-NLS-1$
        }
    }
}

From source file:org.eclipse.cdt.autotools.ui.editors.outline.AutoconfContentOutlinePage.java

License:Open Source License

public void update() {
    //set the input so that the outlines parse can be called
    //update the tree viewer state
    final TreeViewer viewer = getTreeViewer();

    if (viewer != null) {
        final Control control = viewer.getControl();
        if (control != null && !control.isDisposed()) {
            control.getDisplay().asyncExec(new Runnable() {
                public void run() {
                    if (!control.isDisposed()) {
                        //                     control.setRedraw(false);
                        //                     if (input != null)
                        //                        viewer.setInput(input);
                        //                     viewer.expandAll();
                        //                     control.setRedraw(true);
                        ISelection sel = viewer.getSelection();
                        viewer.setSelection(updateSelection(sel));
                        viewer.refresh();
                    }// www. ja  v a 2  s  .  c o  m
                }
            });
        }
    }
}

From source file:org.eclipse.cdt.cpp.ui.internal.views.CppProjectsViewPart.java

License:Open Source License

protected void editorActivated(IEditorPart editor) {
    IEditorInput input = editor.getEditorInput();
    if (input instanceof IFileEditorInput) {
        IFileEditorInput fileInput = (IFileEditorInput) input;
        IFile file = fileInput.getFile();
        DataElement fileElement = _api.findResourceElement(file);
        if (fileElement != null) {
            ISelection newSelection = new StructuredSelection(fileElement);
            if (_viewer != null) {
                TreeViewer treeViewer = (TreeViewer) _viewer.getViewer();
                if (treeViewer != null) {
                    Object selection = treeViewer.getSelection();
                    if (selection != newSelection) {
                        treeViewer.setSelection(newSelection);
                    }/*from  w  ww . j a  v  a2 s.co m*/
                }
            }
        }
    }
}