List of usage examples for org.eclipse.jface.databinding.viewers.typed ViewerProperties multipleSelection
public static <S extends ISelectionProvider, T> IViewerListProperty<S, T> multipleSelection( Class<T> elementType)
From source file:org.eclipse.jface.examples.databinding.snippets.Snippet028DuplexingObservableValue.java
License:Open Source License
private void bindUI() { IObservableList<MovieInfo> movies = new WritableList<>(); movies.add(new MovieInfo("007: Quantum of Solace", "October 31, 2008", "Marc Forster", "Robert Wade")); movies.add(new MovieInfo("Batman Begins", "June 15, 2005", "Christopher Nolan", "David S. Goyer")); movies.add(new MovieInfo("Cloverfield", "January 18, 2008", "Matt Reeves", "Drew Goddard")); movies.add(new MovieInfo("The Dark Knight", "July 18, 2008", "Christopher Nolan", "David S. Goyer")); movies.add(new MovieInfo("Finding Nemo", "May 30, 2003", "Andrew Stanton", "Andrew Stanton")); movies.add(new MovieInfo("Get Smart", "June 20, 2008", "Peter Segal", "Tom J. Astle")); movies.add(new MovieInfo("Indiana Jones and the Kingdom of the Crystal Skull", "May 22, 2008", "Steven Spielberg", "Drunken Lemurs")); movies.add(new MovieInfo("Iron Man", "May 2, 2008", "Jon Favreau", "Mark Fergus")); movies.add(new MovieInfo("Raiders of the Lost Ark", "June 12, 1981", "Steven Spielberg", "George Lucas")); movies.add(new MovieInfo("Valkyrie", "December 25, 2008", "Bryan Singer", "Christopher McQuarrie")); movies.add(new MovieInfo("Wall-E", "June 27, 2008", "Andrew Stanton", "Andrew Stanton")); movies.add(new MovieInfo("Wanted", "June 27, 2008", "Timur Bekmambetov", "Michael Brandt")); ViewerSupport.bind(viewer, movies, BeanProperties.values(MovieInfo.class, new String[] { "title", "releaseDate", "director", "writer" })); // Select Batman Begins and The Dark Knight, which have the same // director and writer viewer.setSelection(new StructuredSelection(new Object[] { movies.get(1), movies.get(3) })); DataBindingContext dbc = new DataBindingContext(); IObservableList<MovieInfo> selections = ViewerProperties.multipleSelection(MovieInfo.class).observe(viewer); dbc.bindValue(WidgetProperties.text(SWT.Modify).observe(title), DuplexingObservableValue .withDefaults(BeanProperties.value("title").observeDetail(selections), "", "<Multiple titles>")); dbc.bindValue(WidgetProperties.text(SWT.Modify).observe(releaseDate), DuplexingObservableValue.withDefaults( BeanProperties.value("releaseDate").observeDetail(selections), "", "<Multiple dates>")); dbc.bindValue(WidgetProperties.text(SWT.Modify).observe(director), DuplexingObservableValue.withDefaults( BeanProperties.value("director").observeDetail(selections), "", "<Multiple directors>")); dbc.bindValue(WidgetProperties.text(SWT.Modify).observe(writer), DuplexingObservableValue .withDefaults(BeanProperties.value("writer").observeDetail(selections), "", "<Multiple writers>")); }