View Javadoc

1   /*
2    * Copyright (c) 2006 Stiftung Deutsches Elektronen-Synchroton,
3    * Member of the Helmholtz Association, (DESY), HAMBURG, GERMANY.
4    *
5    * THIS SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "../AS IS" BASIS.
6    * WITHOUT WARRANTY OF ANY KIND, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED
7    * TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR PARTICULAR PURPOSE AND
8    * NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
9    * FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
10   * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
11   * THE USE OR OTHER DEALINGS IN THE SOFTWARE. SHOULD THE SOFTWARE PROVE DEFECTIVE
12   * IN ANY RESPECT, THE USER ASSUMES THE COST OF ANY NECESSARY SERVICING, REPAIR OR
13   * CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE.
14   * NO USE OF ANY SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
15   * DESY HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
16   * OR MODIFICATIONS.
17   * THE FULL LICENSE SPECIFYING FOR THE SOFTWARE THE REDISTRIBUTION, MODIFICATION,
18   * USAGE AND OTHER RIGHTS AND OBLIGATIONS IS INCLUDED WITH THE DISTRIBUTION OF THIS
19   * PROJECT IN THE FILE LICENSE.HTML. IF THE LICENSE IS NOT INCLUDED YOU MAY FIND A COPY
20   * AT HTTP://WWW.DESY.DE/LEGAL/LICENSE.HTM
21   */
22  
23  package de.desy.acop.displayers.tools;
24  
25  import java.awt.datatransfer.DataFlavor;
26  import java.beans.PropertyVetoException;
27  
28  import javax.swing.JComponent;
29  
30  import com.cosylab.gui.displayers.DisplayerParameters;
31  import com.cosylab.util.CommonException;
32  
33  /**
34   * <code>AcopMultipleDisplayerParametersTransferHandler</code> is a TransferHandler
35   * that can handle MultipleAcopDisplayers.
36   * 
37   * @author <a href="mailto:jaka.bobnar@cosylab.com">Jaka Bobnar</a>
38   * @version $Id: Templates.xml,v 1.10 2004/01/13 16:17:13 jbobnar Exp $
39   * @see MultipleAcopDisplayer
40   */
41  public class AcopMultipleDisplayerParametersTransferHandler extends AbstractMDPTransferHandler{
42  	
43  	private static final long serialVersionUID = 4277524441131938702L;
44  
45  	public AcopMultipleDisplayerParametersTransferHandler(MultipleAcopDisplayer<?> comp, boolean reciveEnabled, boolean exportEnabled, DataFlavor[] f, boolean resetFlavors) {
46  		super((JComponent)comp, reciveEnabled, exportEnabled, f, resetFlavors);
47  	}
48  	
49  	protected AcopDisplayerParameters[] exportMultipleDisplayerParameters() {
50  		return ((MultipleAcopDisplayer<?>)displayer).getDisplayerParameters();
51  	}
52  	
53  	@SuppressWarnings("unchecked")
54  	@Override
55  	public boolean setParametersToDisplayer(Object disp, DisplayerParameters parameters) throws PropertyVetoException {
56  		try {
57  			if (parameters instanceof AcopDisplayerParameters) {
58  				((MultipleAcopDisplayer)displayer).addDisplayerParameters((AcopDisplayerParameters) parameters);
59  				return true;
60  			}
61  		} catch (CommonException e) {
62  			e.printStackTrace();
63  		}
64  		return super.setParametersToDisplayer(disp, parameters);
65  	}
66  	
67  }