1 /******************************************************************************* 2 * Copyright (c) 2000, 2017 IBM Corporation and others. 3 * 4 * This program and the accompanying materials 5 * are made available under the terms of the Eclipse Public License 2.0 6 * which accompanies this distribution, and is available at 7 * https://www.eclipse.org/legal/epl-2.0/ 8 * 9 * SPDX-License-Identifier: EPL-2.0 10 * 11 * Contributors: 12 * IBM Corporation - initial API and implementation 13 *******************************************************************************/ 14 package org.eclipse.ui.tests.api; 15 16 import java.util.ArrayList; 17 import java.util.Iterator; 18 import java.util.List; 19 20 import org.eclipse.jface.viewers.ISelection; 21 import org.eclipse.jface.viewers.ISelectionChangedListener; 22 import org.eclipse.jface.viewers.ISelectionProvider; 23 import org.eclipse.jface.viewers.SelectionChangedEvent; 24 import org.eclipse.jface.viewers.StructuredSelection; 25 26 public class MockSelectionProvider implements ISelectionProvider { 27 28 private List<ISelectionChangedListener> listeners = new ArrayList<>(3); 29 30 /** 31 * Fires out a selection to all listeners. 32 */ fireSelection()33 public void fireSelection() { 34 fireSelection(new SelectionChangedEvent(this, StructuredSelection.EMPTY)); 35 } 36 37 /** 38 * Fires out a selection to all listeners. 39 */ fireSelection(SelectionChangedEvent event)40 public void fireSelection(SelectionChangedEvent event) { 41 Iterator<ISelectionChangedListener> iter = listeners.iterator(); 42 while (iter.hasNext()) { 43 iter.next().selectionChanged(event); 44 } 45 } 46 47 @Override addSelectionChangedListener(ISelectionChangedListener listener)48 public void addSelectionChangedListener(ISelectionChangedListener listener) { 49 listeners.add(listener); 50 } 51 52 @Override getSelection()53 public ISelection getSelection() { 54 return StructuredSelection.EMPTY; 55 } 56 57 @Override removeSelectionChangedListener( ISelectionChangedListener listener)58 public void removeSelectionChangedListener( 59 ISelectionChangedListener listener) { 60 listeners.remove(listener); 61 } 62 63 @Override setSelection(ISelection selection)64 public void setSelection(ISelection selection) { 65 } 66 } 67 68