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.demo;
24  
25  import java.awt.BorderLayout;
26  import javax.swing.JPanel;
27  import javax.swing.JFrame;
28  
29  import com.cosylab.gui.adapters.Converter;
30  import com.cosylab.gui.adapters.ConverterChain;
31  import com.cosylab.gui.adapters.MultiplierConverter;
32  
33  import de.desy.acop.displayers.AcopGauger;
34  import de.desy.acop.displayers.AcopWheelswitch;
35  import java.awt.GridBagConstraints;
36  
37  /**
38   * @author Igor Kriznar (igor.kriznarATcosylab.com)
39   *
40   */
41  public class AcopConvertersDemo extends JFrame {
42  
43  	private JPanel jContentPane = null;
44  	private AcopWheelswitch acopWheelswitch = null;
45  	private AcopGauger acopGauger = null;
46  	/**
47  	 * This method initializes acopWheelswitch	
48  	 * 	
49  	 * @return de.desy.acop.displayers.AcopWheelswitch	
50  	 */
51  	private AcopWheelswitch getAcopWheelswitch() {
52  		if (acopWheelswitch == null) {
53  			try {
54  				acopWheelswitch = new AcopWheelswitch();
55  				acopWheelswitch.setConverter(new com.cosylab.gui.adapters.ConverterChain(new com.cosylab.gui.adapters.Converter[]{new com.cosylab.gui.adapters.PotentialConverter(2.0),new com.cosylab.gui.adapters.MultiplierConverter(3.0),new com.cosylab.gui.adapters.LinearConverter(1.0,4.0)}));  // Generated
56  			} catch (java.lang.Throwable e) {
57  				e.printStackTrace();
58  			}
59  		}
60  		return acopWheelswitch;
61  	}
62  
63  	/**
64  	 * This method initializes acopGauger	
65  	 * 	
66  	 * @return de.desy.acop.displayers.AcopGauger	
67  	 */
68  	private AcopGauger getAcopGauger() {
69  		if (acopGauger == null) {
70  			try {
71  				acopGauger = new AcopGauger();
72  				acopGauger.setTitle("TINE/TEST/JWKSINE/Device 0/Amplitude");  // Generated
73  				acopGauger.setConnectionParameters(new de.desy.acop.transport.ConnectionParameters("TINE/TEST/JWKSINE/Device 1/Amplitude",de.desy.acop.transport.AccessMode.POLL,1000));  // Generated
74  				/*
75  				 * Below is single converter which multiplies by 2
76  				 */
77  				acopGauger.setConverter(new MultiplierConverter(2.0));
78  				/*
79  				 * Below is converter chain which furst multiplies by 2 then devides by 2
80  				 */
81  				acopGauger.setConverter(new ConverterChain(new Converter[]{new MultiplierConverter(2.0),new MultiplierConverter(0.5)}));
82  			} catch (java.lang.Throwable e) {
83  				e.printStackTrace();
84  			}
85  		}
86  		return acopGauger;
87  	}
88  
89  	/**
90  	 * @param args
91  	 */
92  	public static void main(String[] args) {
93  		AcopConvertersDemo acd= new AcopConvertersDemo();
94  		acd.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
95  		acd.setVisible(true);
96  	}
97  
98  	/**
99  	 * This is the default constructor
100 	 */
101 	public AcopConvertersDemo() {
102 		super();
103 		initialize();
104 	}
105 
106 	/**
107 	 * This method initializes this
108 	 * 
109 	 * @return void
110 	 */
111 	private void initialize() {
112 		this.setSize(361, 340);
113 		this.setContentPane(getJContentPane());
114 		this.setTitle("JFrame");
115 	}
116 
117 	/**
118 	 * This method initializes jContentPane
119 	 * 
120 	 * @return javax.swing.JPanel
121 	 */
122 	private JPanel getJContentPane() {
123 		if (jContentPane == null) {
124 			jContentPane = new JPanel();
125 			jContentPane.setLayout(new BorderLayout());
126 			jContentPane.add(getAcopWheelswitch(), java.awt.BorderLayout.SOUTH);  // Generated
127 			jContentPane.add(getAcopGauger(), java.awt.BorderLayout.CENTER);  // Generated
128 		}
129 		return jContentPane;
130 	}
131 
132 }  //  @jve:decl-index=0:visual-constraint="10,10"