/***************************************************************************** * Copyright (c) 2006, 2008 g-Eclipse Consortium * 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 * * Initial development of the original code was made for the * g-Eclipse project founded by European Union * project number: FP6-IST-034327 http://www.geclipse.eu/ * * Contributors: * Christof Klausecker GUP, JKU - initial API and implementation *****************************************************************************/ package eu.geclipse.traceview.views.internal; import java.util.ArrayList; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.ISelectionChangedListener; import org.eclipse.jface.viewers.ISelectionProvider; import org.eclipse.jface.viewers.SelectionChangedEvent; /** * Selection provider */ public class SelectionProvider implements ISelectionProvider { ArrayList<ISelectionChangedListener> selectionChangedListeners; ISelection selection; /** * * */ public SelectionProvider() { this.selectionChangedListeners = new ArrayList<ISelectionChangedListener>(); } /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.ISelectionProvider#addSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) */ public void addSelectionChangedListener( final ISelectionChangedListener listener ) { this.selectionChangedListeners.add( listener ); } /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.ISelectionProvider#removeSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) */ public void removeSelectionChangedListener( final ISelectionChangedListener listener ) { this.selectionChangedListeners.remove( listener ); } /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.ISelectionProvider#setSelection(org.eclipse.jface.viewers.ISelection) */ public void setSelection( final ISelection selection ) { this.selection = selection; SelectionChangedEvent selectionChangedEvent = new SelectionChangedEvent( this, selection ); for( ISelectionChangedListener selectionChangedListener : this.selectionChangedListeners ) { selectionChangedListener.selectionChanged( selectionChangedEvent ); } } /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.ISelectionProvider#getSelection() */ public ISelection getSelection() { return this.selection; } }