| /******************************************************************************* |
| * Copyright (c) 2008, 2010 Matthew Hall and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * Matthew Hall - initial API and implementation (bug 194734) |
| * Matthew Hall - bug 264286 |
| * Ovidio Mallo - bug 270494 |
| ******************************************************************************/ |
| |
| package org.eclipse.jface.databinding.viewers; |
| |
| import org.eclipse.jface.internal.databinding.viewers.SelectionProviderMultipleSelectionProperty; |
| import org.eclipse.jface.internal.databinding.viewers.SelectionProviderSingleSelectionProperty; |
| import org.eclipse.jface.internal.databinding.viewers.StructuredViewerFiltersProperty; |
| import org.eclipse.jface.internal.databinding.viewers.ViewerCheckedElementsProperty; |
| import org.eclipse.jface.internal.databinding.viewers.ViewerInputProperty; |
| import org.eclipse.jface.viewers.CheckboxTableViewer; |
| import org.eclipse.jface.viewers.CheckboxTreeViewer; |
| import org.eclipse.jface.viewers.ICheckable; |
| import org.eclipse.jface.viewers.IPostSelectionProvider; |
| import org.eclipse.jface.viewers.ISelectionProvider; |
| import org.eclipse.jface.viewers.StructuredViewer; |
| import org.eclipse.jface.viewers.Viewer; |
| |
| /** |
| * A factory for creating properties of JFace {@link Viewer viewers}. |
| * |
| * @since 1.3 |
| */ |
| public class ViewerProperties { |
| /** |
| * Returns a set property for observing the checked elements of a |
| * {@link CheckboxTableViewer}, {@link CheckboxTreeViewer} or |
| * {@link ICheckable}. |
| * |
| * @param elementType |
| * the element type of the returned property |
| * |
| * @return a set property for observing the checked elements of a |
| * {@link CheckboxTableViewer}, {@link CheckboxTreeViewer} or |
| * {@link ICheckable}. |
| */ |
| public static IViewerSetProperty checkedElements(Object elementType) { |
| return new ViewerCheckedElementsProperty(elementType); |
| } |
| |
| /** |
| * Returns a value property for observing the input of a |
| * {@link StructuredViewer}. |
| * |
| * @return a value property for observing the input of a |
| * {@link StructuredViewer}. |
| */ |
| public static IViewerSetProperty filters() { |
| return new StructuredViewerFiltersProperty(); |
| } |
| |
| /** |
| * Returns a value property for observing the input of a {@link Viewer}. |
| * |
| * @return a value property for observing the input of a {@link Viewer}. |
| */ |
| public static IViewerValueProperty input() { |
| return new ViewerInputProperty(); |
| } |
| |
| /** |
| * Returns a list property for observing the multiple selection of an |
| * {@link ISelectionProvider}. |
| * |
| * @return a list property for observing the multiple selection of an |
| * {@link ISelectionProvider}. |
| */ |
| public static IViewerListProperty multipleSelection() { |
| return new SelectionProviderMultipleSelectionProperty(false); |
| } |
| |
| /** |
| * Returns a list property for observing the multiple <i>post</i> selection |
| * of an {@link IPostSelectionProvider}. |
| * |
| * @return a list property for observing the multiple <i>post</i> selection |
| * of an {@link IPostSelectionProvider}. |
| * |
| * @since 1.4 |
| */ |
| public static IViewerListProperty multiplePostSelection() { |
| return new SelectionProviderMultipleSelectionProperty(true); |
| } |
| |
| /** |
| * Returns a value property for observing the single selection of a |
| * {@link ISelectionProvider}. |
| * |
| * @return a value property for observing the single selection of a |
| * {@link ISelectionProvider}. |
| */ |
| public static IViewerValueProperty singleSelection() { |
| return new SelectionProviderSingleSelectionProperty(false); |
| } |
| |
| /** |
| * Returns a value property for observing the single <i>post</i> selection |
| * of a {@link IPostSelectionProvider}. |
| * |
| * @return a value property for observing the single <i>post</i> selection |
| * of a {@link IPostSelectionProvider}. |
| * |
| * @since 1.4 |
| */ |
| public static IViewerValueProperty singlePostSelection() { |
| return new SelectionProviderSingleSelectionProperty(true); |
| } |
| } |