SelectionProviderMultipleSelectionProperty.java :  » IDE-Eclipse » jface » org » eclipse » jface » internal » databinding » viewers » Java Open Source

Java Open Source » IDE Eclipse » jface 
jface » org » eclipse » jface » internal » databinding » viewers » SelectionProviderMultipleSelectionProperty.java
/*******************************************************************************
 * Copyright (c) 2008, 2009 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 - bugs 195222, 263413, 265561
 ******************************************************************************/

package org.eclipse.jface.internal.databinding.viewers;

import java.util.Collections;
import java.util.List;

import org.eclipse.core.databinding.observable.list.ListDiff;
import org.eclipse.core.databinding.property.INativePropertyListener;
import org.eclipse.core.databinding.property.ISimplePropertyListener;
import org.eclipse.jface.databinding.viewers.ViewerListProperty;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.StructuredSelection;

/**
 * @since 3.3
 * 
 */
public class SelectionProviderMultipleSelectionProperty extends
    ViewerListProperty {
  public Object getElementType() {
    return Object.class;
  }

  protected List doGetList(Object source) {
    ISelection selection = ((ISelectionProvider) source).getSelection();
    if (selection instanceof IStructuredSelection) {
      return ((IStructuredSelection) selection).toList();
    }
    return Collections.EMPTY_LIST;
  }

  protected void doSetList(Object source, List list, ListDiff diff) {
    ((ISelectionProvider) source)
        .setSelection(new StructuredSelection(list));
  }

  public INativePropertyListener adaptListener(
      ISimplePropertyListener listener) {
    return new SelectionChangedListener(this, listener);
  }

  public String toString() {
    return "ISelectionProvider.selection[]"; //$NON-NLS-1$
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.