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

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

Introduction

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

Prototype

@Override
    protected void setSelection(List<Item> items) 

Source Link

Usage

From source file:org.csstudio.dal.ui.internal.dnd.ChooseControlSystemPrefixDialog.java

License:Open Source License

@Override
protected Control createCustomArea(Composite parent) {
    TreeViewer tv = new TreeViewer(parent);
    tv.setLabelProvider(new WorkbenchLabelProvider());
    tv.setContentProvider(new BaseWorkbenchContentProvider() {

        @Override/*from   w  w  w  .j  a  v  a2  s .c  o m*/
        public Object[] getElements(Object element) {
            return (Object[]) element;
        }

    });
    tv.setInput(ControlSystemEnum.valuesShown());

    tv.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection sel = (IStructuredSelection) event.getSelection();
            if (sel != null && sel.getFirstElement() != null) {
                _selectedControlSystem = (ControlSystemEnum) sel.getFirstElement();
            }
        }

    });

    tv.setSelection(
            new StructuredSelection(ProcessVariableAdressFactory.getInstance().getDefaultControlSystem()));

    final Button dontAskAgainButton = new Button(parent, SWT.CHECK);
    dontAskAgainButton.setText("Dont ask again!");
    dontAskAgainButton.setSelection(!ProcessVariableAdressFactory.getInstance().askForControlSystem());

    dontAskAgainButton.addSelectionListener(new SelectionListener() {

        public void widgetDefaultSelected(SelectionEvent e) {

        }

        public void widgetSelected(SelectionEvent e) {
            _dontAskAgain = dontAskAgainButton.getSelection();
        }

    });

    Label l = new Label(parent, SWT.NONE);
    l.setText(
            "Note: You can change the default setting on the | > CSS Core > Control System | preference page.");
    return parent;
}

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   www.  ja va2  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;//from w w w .  j  av  a2  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

/**
 * Simulate setting the selection to the given element in the tree
 *///from  w  ww  .j  a v a  2s.c  o  m
protected void setSelection(FunctionModelElement element) {
    FunctionTreeViewer functionTreeViewer = getFunctionTreeViewer();
    expandAll();
    TreeViewer treeViewer = functionTreeViewer.getTreeViewer();
    treeViewer.setSelection(new StructuredSelection(element));
}

From source file:org.eclipse.birt.report.designer.ui.lib.explorer.LibraryExplorerTreeViewPage.java

License:Open Source License

public void refreshRoot() {
    TreeViewer treeViewer = getTreeViewer();

    if (treeViewer != null && !treeViewer.getTree().isDisposed()) {
        ISelection selection = getSelection();

        treeViewer.setSelection(null);
        treeViewer.setInput(getRootEntries());
        handleTreeViewerRefresh();//from w  ww. j  a va 2  s  . co m
        if (selection != null) {
            setSelection(selection);
        }
    }
}

From source file:org.eclipse.birt.report.designer.ui.lib.explorer.LibraryExplorerTreeViewPage.java

License:Open Source License

/**
 * Sets selections for the specified tree viewer and optionally makes it
 * visible./*w  w w.j a  v  a 2 s .  co  m*/
 * 
 * @param treeViewer
 *            the specified tree viewer to select.
 * @param paths
 *            the specified paths to select.
 */
public void selectPath(final String[] paths, final boolean forceRefresh) {
    if (paths == null || paths.length <= 0) {
        return;
    }

    Display display = getSite().getShell().getDisplay();

    display.asyncExec(new Runnable() {

        public void run() {
            TreeViewer treeViewer = getTreeViewer();
            boolean needSelect = false;

            if (forceRefresh) {
                refreshRoot();
            }

            for (String path : paths) {
                File file = new File(path);

                if (!file.exists()) {
                    continue;
                }

                needSelect = true;
                String parent = file.getParent();
                List<String> folders = new ArrayList<String>();

                while (parent != null) {
                    folders.add(parent);
                    parent = new File(parent).getParent();
                }

                for (int i = folders.size() - 1; i >= 0; i--) {
                    treeViewer.expandToLevel(folders.get(i), 1);
                }
            }
            if (needSelect) {
                treeViewer.setSelection(new StructuredSelection(paths));
                treeViewer.reveal(paths[0]);
            }
        }
    });
}

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();
                    }//from w  ww.  j  a v a2s .  co  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  ww  w.j ava2  s .co m
                }
            }
        }
    }
}

From source file:org.eclipse.cdt.internal.ui.callhierarchy.CHRemoveFromView.java

License:Open Source License

@Override
public void run() {
    TreeViewer tree = fView.getTreeViewer();
    ITreeSelection selection = (ITreeSelection) tree.getSelection();
    tree.setSelection(null); // should stay before removal
    tree.remove(selection.toArray());/*ww w .ja v a  2 s  .c  om*/
}

From source file:org.eclipse.compare.tests.PatchUITest.java

License:Open Source License

private void treeSelect(TreeViewer tree, String path) {
    WorkspaceRoot root = (WorkspaceRoot) tree.getInput();
    IFile file = root.getFile(path);//ww w .ja v a 2  s.  c o  m
    TreePath treePath = new TreePath(new Object[] { file });
    TreeSelection sel = new TreeSelection(treePath);
    tree.setSelection(sel);
}