Package org.eclipse.jface.databinding.viewers

Source Code of org.eclipse.jface.databinding.viewers.ViewerProperties

/*******************************************************************************
* 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);
  }
}
TOP

Related Classes of org.eclipse.jface.databinding.viewers.ViewerProperties

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.