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.eclipse.egit.ui.internal.commit.DiffEditorOutlinePage.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    super.createControl(parent);
    TreeViewer viewer = getTreeViewer();
    viewer.setAutoExpandLevel(2);//from   w w w  .ja  va  2  s .co  m
    viewer.setContentProvider(new DiffContentProvider());
    viewer.setLabelProvider(new DiffLabelProvider());
    viewer.addOpenListener(event -> fireOpenEvent(event));
    if (input != null) {
        viewer.setInput(input);
    }
    createContextMenu(viewer);
    if (selection != null) {
        viewer.setSelection(selection);
    }
}

From source file:org.eclipse.elk.core.ui.AlgorithmSelectionDialog.java

License:Open Source License

/**
 * Create the dialog area that displays the selection tree and filter text.
 * //from   w ww  .j a  v  a  2 s  .  c  o  m
 * @param parent the parent composite
 * @return the control for the selection area
 */
private Control createSelectionTree(final Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);

    // create filter text
    final Text filterText = new Text(composite, SWT.BORDER);
    filterText.setText(Messages.getString("kiml.ui.59"));
    filterText.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
    filterText.setForeground(parent.getDisplay().getSystemColor(SWT.COLOR_GRAY));

    // create tree viewer
    final TreeViewer treeViewer = new TreeViewer(composite, SWT.SINGLE | SWT.V_SCROLL | SWT.BORDER);
    final AlgorithmContentProvider contentProvider = new AlgorithmContentProvider();
    treeViewer.setContentProvider(contentProvider);
    treeViewer.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(final Object element) {
            if (element instanceof LayoutAlgorithmData) {
                LayoutAlgorithmData algoData = (LayoutAlgorithmData) element;
                String bundleName = algoData.getBundleName();
                if (bundleName == null) {
                    return algoData.getName();
                } else {
                    return algoData.getName() + " (" + bundleName + ")";
                }
            } else if (element instanceof LayoutCategoryData) {
                LayoutCategoryData typeData = (LayoutCategoryData) element;
                if (typeData.getName() == null) {
                    return "Other";
                } else {
                    return typeData.getName();
                }
            }
            return super.getText(element);
        }
    });
    treeViewer.setSorter(new ViewerSorter() {
        public int category(final Object element) {
            if (element instanceof LayoutCategoryData) {
                LayoutCategoryData typeData = (LayoutCategoryData) element;
                // the "Other" layout type has empty identifier and is put to the bottom
                return typeData.getId().length() == 0 ? 1 : 0;
            }
            return super.category(element);
        }
    });
    treeViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    treeViewer.setInput(LayoutMetaDataService.getInstance());
    treeViewer.expandAll();
    treeViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(final DoubleClickEvent event) {
            okPressed();
        }
    });

    // set up a filter on the tree viewer using the filter text
    final Maybe<Boolean> filterChanged = new Maybe<Boolean>(Boolean.FALSE);
    final Maybe<Boolean> filterLeft = new Maybe<Boolean>(Boolean.FALSE);
    filterText.addModifyListener(new ModifyListener() {
        public void modifyText(final ModifyEvent e) {
            if (!filterChanged.get()) {
                filterChanged.set(Boolean.TRUE);
                filterText.setForeground(null);
                int pos = filterText.getCaretPosition();
                String newText = filterText.getText(pos - 1, pos - 1);
                filterText.setText(newText);
                filterText.setSelection(pos);
            } else {
                contentProvider.updateFilter(filterText.getText());
                treeViewer.refresh();
                treeViewer.expandAll();
                ILayoutMetaData selected = contentProvider.getBestFilterMatch();
                if (selected != null) {
                    treeViewer.setSelection(new StructuredSelection(selected));
                }
            }
        }
    });
    filterText.addFocusListener(new FocusListener() {
        public void focusGained(final FocusEvent e) {
            if (filterLeft.get() && !filterChanged.get()) {
                filterChanged.set(Boolean.TRUE);
                filterText.setForeground(null);
                filterText.setText("");
            }
        }

        public void focusLost(final FocusEvent e) {
            filterLeft.set(Boolean.TRUE);
        }
    });
    treeViewer.addFilter(new ViewerFilter() {
        public boolean select(final Viewer viewer, final Object parentElement, final Object element) {
            return contentProvider.applyFilter(element);
        }
    });

    // add a selection listener to the tree so that the selected element is displayed
    treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(final SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            Object element = selection.getFirstElement();
            if (element instanceof ILayoutMetaData) {
                updateValue((ILayoutMetaData) element);
            }
        }
    });

    composite.setLayout(new GridLayout());
    GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
    gridData.minimumWidth = SELECTION_WIDTH;
    composite.setLayoutData(gridData);

    // register all selection listeners that have been stored in a list
    selectionProvider = treeViewer;
    for (ISelectionChangedListener listener : selectionListeners) {
        selectionProvider.addSelectionChangedListener(listener);
    }
    return composite;
}

From source file:org.eclipse.emf.cdo.explorer.ui.checkouts.wizards.CheckoutBranchPointPage.java

License:Open Source License

public void setBranchPoint(int branchID, long timeStamp) {
    if (this.branchID != branchID || this.timeStamp != timeStamp) {
        log("Setting branch point to " + branchID + "/" + CDOCommonUtil.formatTimeStamp(timeStamp));
        this.branchID = branchID;
        this.timeStamp = timeStamp;

        if (branchPointComposite != null) {
            CDOBranchPoint branchPoint = getBranchPoint();
            CDOBranch branch = branchPoint.getBranch();

            TreeViewer branchViewer = branchPointComposite.getBranchViewer();
            branchViewer.setSelection(new StructuredSelection(branch));
            branchViewer.setExpandedState(branch, true);
        }//  ww  w  .  j a va 2  s  . c om

        branchPointChanged(branchID, timeStamp);
    }
}

From source file:org.eclipse.emf.cdo.explorer.ui.checkouts.wizards.CheckoutBranchPointPage.java

License:Open Source License

@Override
protected void repositoryChanged(CDORepository repository) {
    if (branchPointComposite != null) {
        TreeViewer branchViewer = branchPointComposite.getBranchViewer();
        branchViewer.setSelection(StructuredSelection.EMPTY);
        branchViewer.setInput(CONNECTING_INPUT);
    }/*from ww w  .  ja  va  2s  .  c  o  m*/

    super.repositoryChanged(repository);
}

From source file:org.eclipse.emf.cdo.explorer.ui.checkouts.wizards.CheckoutBranchPointPage.java

License:Open Source License

@Override
protected void pageActivated() {
    final CheckoutWizard wizard = getWizard();
    String type = wizard.getTypePage().getType();

    if (CDOCheckout.TYPE_ONLINE_TRANSACTIONAL.equals(type)) {
        branchPointComposite.setAllowTimeStamp(false);
    } else {//from w  w w. j a  v a  2  s.  c om
        branchPointComposite.setAllowTimeStamp(true);
        branchPointComposite.getSelectTimeComposite().setTimeStamp(timeStamp);
    }

    final Display display = branchPointComposite.getDisplay();
    display.asyncExec(new Runnable() {
        public void run() {
            final CDOSession session = wizard.getRepositoryPage().getSession();
            final CDOBranchPoint branchPoint = wizard.getBranchPointPage().getBranchPoint();
            final TreeViewer branchViewer = branchPointComposite.getBranchViewer();

            branchViewer.setInput(session.getBranchManager());
            display.asyncExec(new Runnable() {
                public void run() {
                    CDOBranch branch = branchPoint.getBranch();
                    branchViewer.setSelection(new StructuredSelection(branch));
                    branchViewer.expandToLevel(branch, 1);
                    validate();
                }
            });
        }
    });
}

From source file:org.eclipse.emf.cdo.internal.ui.dialogs.AbstractBranchPointDialog.java

License:Open Source License

protected void createUI(Composite container) {
    branchPointComposite = new ComposeBranchPointComposite(container, allowTimeStamp, branchPoint) {
        @Override//from w  w  w . java  2s. com
        protected void timeStampError(String message) {
            timeStampError = message;
            validate();
        }

        @Override
        protected void branchPointChanged(CDOBranchPoint branchPoint) {
            if (validate()) {
                AbstractBranchPointDialog.this.branchPointChanged(branchPoint);
            }
        }

        @Override
        protected void doubleClicked() {
            AbstractBranchPointDialog.this.doubleClicked();
        }
    };

    branchPointComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));
    CDOBranch branch = branchPoint.getBranch();

    TreeViewer branchViewer = branchPointComposite.getBranchViewer();
    branchViewer.setSelection(new StructuredSelection(branch));
    branchViewer.setExpandedState(branch, true);
}

From source file:org.eclipse.emf.ecp.view.spi.categorization.swt.AbstractJFaceTreeRenderer.java

License:Open Source License

/**
 * Inits the tree viewer.//from   w  ww  .  j  a v  a  2 s  .c om
 *
 * @param treeViewer the tree viewer
 */
protected void initTreeViewer(final TreeViewer treeViewer) {

    treeViewer.setInput(getVElement());
    treeViewer.expandAll();
    if (getCategorizations().size() != 0) {
        treeViewer.setSelection(new StructuredSelection(getCategorizations().get(0)));
    }
}

From source file:org.eclipse.emf.ecp.view.spi.categorization.swt.SWTCategorizationElementRenderer.java

License:Open Source License

/**
 * Inits the tree viewer.//from   ww w .ja  v a 2 s .c o m
 * 
 * @param treeViewer the tree viewer
 * @param vCategorizationElement the {@link VCategorizationElement}
 */
protected void initTreeViewer(final TreeViewer treeViewer, VCategorizationElement vCategorizationElement) {

    treeViewer.setInput(vCategorizationElement);
    treeViewer.expandAll();
    treeViewer.setSelection(new StructuredSelection(vCategorizationElement.getCategorizations().get(0)));
}

From source file:org.eclipse.emf.eef.runtime.ui.widgets.ElementSelectionDialog.java

License:Open Source License

/**
 * Used to display a page//from   w w w.j  a  v a 2  s  .  c o  m
 * 
 * @param parent
 *            composite which contains the tree
 * @return the composite of this page
 */
public Control fillModelpage(Composite parent) {
    Composite composite = new Composite(parent, SWT.None);
    GridLayout layout = new GridLayout();
    layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
    layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
    layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
    layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
    composite.setLayout(layout);

    // use pattern filter
    PatternFilter patternFilter = new TreeSelectionPatternFilter();
    patternFilter.setIncludeLeadingWildcard(true);

    FilteredTree filteredTree = new FilteredTree(composite, SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL | SWT.RESIZE,
            patternFilter, true);
    // use of EMF facilities
    final TreeViewer treeViewer = filteredTree.getViewer();
    treeViewer.setFilters(new ViewerFilter[0]);
    treeViewer.setUseHashlookup(true);
    if (input instanceof EEFEditorSettings)
        treeViewer.setContentProvider(
                new HideResourcesContentProvider(new AdvancedEEFEditorContentProvider(adapterFactory)));
    else
        treeViewer.setContentProvider(
                new HideResourcesContentProvider(new AdapterFactoryContentProvider(adapterFactory)));

    ArrayList<ViewerFilter> filters = new ArrayList<ViewerFilter>();
    if (viewerFilters != null && !viewerFilters.isEmpty()) {
        for (ViewerFilter filter : viewerFilters) {
            filters.add(filter);
        }
    }
    // for now, add the businessRuleFilters to the 'normal' filters
    if (brFilters != null && !brFilters.isEmpty()) {
        for (ViewerFilter filter : brFilters) {
            filters.add(filter);
        }
    }
    filters.add(patternFilter);
    ViewerFilter[] v = filters.toArray(new ViewerFilter[filters.size()]);
    treeViewer.setFilters(v);
    treeViewer.setLabelProvider(new EEFLabelProvider() {

        @Override
        public Color getForeground(Object element) {
            if (input instanceof ReferencesTableSettings && element instanceof EObject
                    && ((ReferencesTableSettings) input).contains((EObject) element)) {
                return getShell().getDisplay().getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW);
            }

            return super.getForeground(element);
        }

    });

    filteredTree.setLayoutData(new GridData(550, 300));
    // handle selection change
    if (input instanceof EEFEditorSettings) {
        treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
            public void selectionChanged(SelectionChangedEvent event) {
                if (event.getSelection() instanceof IStructuredSelection) {
                    // Check selection
                    IStructuredSelection structuredSelection = (IStructuredSelection) event.getSelection();
                    if (structuredSelection != null && !structuredSelection.isEmpty()) {
                        Object o = structuredSelection.getFirstElement();
                        // Check type matching
                        Button okButton = getButton(IDialogConstants.OK_ID);
                        if (((List<?>) ((EEFEditorSettings) input).choiceOfValues(adapterFactory))
                                .contains(o)) {
                            if (input instanceof ReferencesTableSettings) {
                                if (o instanceof EObject
                                        && !((ReferencesTableSettings) input).contains((EObject) o)) {
                                    selection = structuredSelection;
                                    if (okButton != null) {
                                        okButton.setEnabled(true);
                                    }
                                } else {
                                    // Reject selection
                                    if (okButton != null) {
                                        okButton.setEnabled(false);
                                    }
                                }
                            } else {
                                selection = structuredSelection;
                                if (okButton != null) {
                                    okButton.setEnabled(true);
                                }
                            }
                        } else {
                            // Reject selection
                            if (okButton != null) {
                                okButton.setEnabled(false);
                            }
                        }
                    }

                }
            }
        });

        // handle double click to validate
        treeViewer.addDoubleClickListener(new IDoubleClickListener() {
            public void doubleClick(DoubleClickEvent event) {
                if (selection != null && !selection.isEmpty()) {
                    Object o = selection.getFirstElement();
                    if (((List<?>) ((EEFEditorSettings) input).choiceOfValues(adapterFactory)).contains(o)
                            && input instanceof ReferencesTableSettings && o instanceof EObject
                            && !((ReferencesTableSettings) input).contains((EObject) o)) {
                        okPressed();
                    }
                }
            }
        });
    }
    treeViewer.setInput(input);

    // Init selected element
    if (selection != null) {
        treeViewer.setSelection(selection);
    }

    return composite;

}

From source file:org.eclipse.emf.eef.runtime.ui.widgets.TabElementTreeSelectionDialog.java

License:Open Source License

/**
 * Used to display a page in a tab/*w w  w  . ja  va 2s  .  c o  m*/
 * 
 * @param tabFolder
 *            that contains all tabs
 * @param specificTabFilter
 *            a specific filter to this page
 * @return the composite of this page
 */
public Control fillModelpage(CTabFolder tabFolder, final boolean showResourceItem,
        final ViewerFilter specificTabFilter) {
    Composite composite = new Composite(tabFolder, SWT.None);
    GridLayout layout = new GridLayout();
    layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
    layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
    layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
    layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
    composite.setLayout(layout);

    // use pattern filter
    PatternFilter patternFilter = new TreeSelectionPatternFilter();
    patternFilter.setIncludeLeadingWildcard(true);

    FilteredTree filteredTree = new FilteredTree(composite, SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL | SWT.RESIZE,
            patternFilter);
    // use of EMF facilities
    final TreeViewer treeViewer = filteredTree.getViewer();
    treeViewer.setFilters(new ViewerFilter[0]);
    treeViewer.setUseHashlookup(true);
    if (input instanceof EEFEditorSettings)
        treeViewer.setContentProvider(new AdvancedEEFEditorContentProvider(adapterFactory));
    else
        treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));

    ArrayList<ViewerFilter> filters = new ArrayList<ViewerFilter>();
    if (specificTabFilter != null) {
        filters.add(specificTabFilter);
    }
    if (viewerFilters != null && !viewerFilters.isEmpty()) {
        for (ViewerFilter filter : viewerFilters) {
            filters.add(filter);
        }
    }
    // for now, add the businessRuleFilters to the 'normal' filters
    if (brFilters != null && !brFilters.isEmpty()) {
        for (ViewerFilter filter : brFilters) {
            filters.add(filter);
        }
    }
    filters.add(patternFilter);
    ViewerFilter[] v = filters.toArray(new ViewerFilter[filters.size()]);
    treeViewer.setFilters(v);
    treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

    filteredTree.setLayoutData(new GridData(550, 300));
    // handle selection change
    if (input instanceof EEFEditorSettings) {
        treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
            public void selectionChanged(SelectionChangedEvent event) {
                if (event.getSelection() instanceof IStructuredSelection) {
                    // Check selection
                    IStructuredSelection structuredSelection = (IStructuredSelection) event.getSelection();
                    if (structuredSelection != null && !structuredSelection.isEmpty()) {
                        Object o = structuredSelection.getFirstElement();
                        // Check type matching
                        Button okButton = getButton(IDialogConstants.OK_ID);
                        if (((List<?>) ((EEFEditorSettings) input).choiceOfValues(adapterFactory))
                                .contains(o)) {
                            selection = structuredSelection;
                            if (okButton != null) {
                                okButton.setEnabled(true);
                            }
                        } else {
                            // Reject selection
                            if (okButton != null) {
                                okButton.setEnabled(false);
                            }
                        }
                    }

                }
            }
        });

        // handle double click to validate
        treeViewer.addDoubleClickListener(new IDoubleClickListener() {
            public void doubleClick(DoubleClickEvent event) {
                if (selection != null && !selection.isEmpty()) {
                    Object o = selection.getFirstElement();
                    if (((List<?>) ((EEFEditorSettings) input).choiceOfValues(adapterFactory)).contains(o)) {
                        okPressed();
                    }
                }
            }
        });
    }
    treeViewer.setInput(input);

    // Init selected element
    if (selection != null) {
        treeViewer.setSelection(selection);
    }

    return composite;

}