]> git.proxmox.com Git - mirror_edk2.git/blob - Tools/Source/PackageEditor/src/org/tianocore/packaging/PackageProtocols.java
Initial import.
[mirror_edk2.git] / Tools / Source / PackageEditor / src / org / tianocore / packaging / PackageProtocols.java
1 /** @file
2 Java class PackageProtocols is GUI for create Protocol definition elements of spd file.
3
4 Copyright (c) 2006, Intel Corporation
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12 **/
13 package org.tianocore.packaging;
14
15 import javax.swing.JPanel;
16 import javax.swing.JLabel;
17 import javax.swing.JTextField;
18 import javax.swing.JButton;
19 import java.awt.Dimension;
20 import java.awt.Toolkit;
21 import java.awt.event.ActionEvent;
22 import java.awt.event.ActionListener;
23
24 import javax.swing.JComboBox;
25 import javax.swing.JRadioButton;
26 import javax.swing.JFrame;
27
28 import org.tianocore.common.Tools;
29 import org.tianocore.packaging.common.ui.StarLabel;
30
31 /**
32 GUI for create Protocol definition elements of spd file.
33
34 @since PackageEditor 1.0
35 **/
36 public class PackageProtocols extends JFrame implements ActionListener {
37
38 private int location = -1;
39
40 private SpdFileContents sfc = null;
41
42 private JPanel jContentPane = null;
43
44 private JLabel jLabelC_Name = null;
45
46 private JTextField jTextFieldC_Name = null;
47
48 private JLabel jLabelGuid = null;
49
50 private JTextField jTextFieldGuid = null;
51
52 private JLabel jLabelFeatureFlag = null;
53
54 private JTextField jTextFieldFeatureFlag = null;
55
56 private JButton jButtonOk = null;
57
58 private JButton jButtonCancel = null;
59
60 private JLabel jLabelEnableFeature = null;
61
62 private JRadioButton jRadioButtonEnableFeature = null;
63
64 private JRadioButton jRadioButtonDisableFeature = null;
65
66 private JButton jButtonGenerateGuid = null;
67
68 private StarLabel jStarLabel2 = null;
69
70 private StarLabel starLabel = null;
71
72 private JLabel jLabel = null;
73
74 private JTextField jTextField = null;
75
76 /**
77 This method initializes this
78
79 **/
80 private void initialize() {
81 this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
82
83 }
84
85 /**
86 This method initializes jTextFieldProtocolName
87
88 @return javax.swing.JTextField
89 **/
90 private JTextField getJTextFieldProtocolName() {
91 if (jTextFieldC_Name == null) {
92 jTextFieldC_Name = new JTextField();
93 jTextFieldC_Name.setBounds(new java.awt.Rectangle(160, 35, 320, 20));
94 }
95 return jTextFieldC_Name;
96 }
97
98 /**
99 This method initializes jTextFieldGuid
100
101 @return javax.swing.JTextField
102 **/
103 public JTextField getJTextFieldGuid() {
104 if (jTextFieldGuid == null) {
105 jTextFieldGuid = new JTextField();
106 jTextFieldGuid.setBounds(new java.awt.Rectangle(160, 60, 240, 20));
107 }
108 return jTextFieldGuid;
109 }
110
111 /**
112 This method initializes jTextFieldFeatureFlag
113
114 @return javax.swing.JTextField
115 **/
116 private JTextField getJTextFieldFeatureFlag() {
117 if (jTextFieldFeatureFlag == null) {
118 jTextFieldFeatureFlag = new JTextField();
119 jTextFieldFeatureFlag.setBounds(new java.awt.Rectangle(160, 135, 320, 20));
120 jTextFieldFeatureFlag.setEnabled(false);
121 }
122 return jTextFieldFeatureFlag;
123 }
124
125 /**
126 This method initializes jButton
127
128 @return javax.swing.JButton
129 **/
130 private JButton getJButtonOk() {
131 if (jButtonOk == null) {
132 jButtonOk = new JButton();
133 jButtonOk.setText("OK");
134 jButtonOk.setBounds(new java.awt.Rectangle(290, 190, 90, 20));
135 jButtonOk.addActionListener(this);
136 }
137 return jButtonOk;
138 }
139
140 /**
141 This method initializes jButton1
142
143 @return javax.swing.JButton
144 **/
145 private JButton getJButtonCancel() {
146 if (jButtonCancel == null) {
147 jButtonCancel = new JButton();
148 jButtonCancel.setText("Cancel");
149 jButtonCancel.setBounds(new java.awt.Rectangle(390, 190, 90, 20));
150 jButtonCancel.setPreferredSize(new Dimension(90, 20));
151 jButtonCancel.addActionListener(this);
152 }
153 return jButtonCancel;
154 }
155
156 /**
157 This method initializes jRadioButtonEnableFeature
158
159 @return javax.swing.JRadioButton
160 **/
161 private JRadioButton getJRadioButtonEnableFeature() {
162 if (jRadioButtonEnableFeature == null) {
163 jRadioButtonEnableFeature = new JRadioButton();
164 jRadioButtonEnableFeature.setText("Enable");
165 jRadioButtonEnableFeature.setBounds(new java.awt.Rectangle(160, 110, 90, 20));
166 jRadioButtonEnableFeature.setEnabled(false);
167 jRadioButtonEnableFeature.addActionListener(this);
168 jRadioButtonEnableFeature.setSelected(true);
169 }
170 return jRadioButtonEnableFeature;
171 }
172
173 /**
174 This method initializes jRadioButtonDisableFeature
175
176 @return javax.swing.JRadioButton
177 **/
178 private JRadioButton getJRadioButtonDisableFeature() {
179 if (jRadioButtonDisableFeature == null) {
180 jRadioButtonDisableFeature = new JRadioButton();
181 jRadioButtonDisableFeature.setText("Disable");
182 jRadioButtonDisableFeature.setEnabled(false);
183 jRadioButtonDisableFeature.setBounds(new java.awt.Rectangle(320, 110, 90, 20));
184 jRadioButtonDisableFeature.addActionListener(this);
185 }
186 return jRadioButtonDisableFeature;
187 }
188
189 /**
190 This method initializes jButtonGenerateGuid
191
192 @return javax.swing.JButton
193 **/
194 private JButton getJButtonGenerateGuid() {
195 if (jButtonGenerateGuid == null) {
196 jButtonGenerateGuid = new JButton();
197 jButtonGenerateGuid.setBounds(new java.awt.Rectangle(405, 60, 75, 20));
198 jButtonGenerateGuid.setText("GEN");
199 jButtonGenerateGuid.addActionListener(this);
200 }
201 return jButtonGenerateGuid;
202 }
203
204 /**
205 This is the default constructor
206 **/
207 public PackageProtocols(SpdFileContents sfc) {
208 super();
209 initialize();
210 init();
211 this.setVisible(true);
212 this.sfc = sfc;
213 }
214
215 /**
216 This method initializes this
217
218 @return void
219 **/
220 private void init() {
221 this.setSize(500, 250);
222 this.setName("JFrame");
223 this.setContentPane(getJContentPane());
224 this.setTitle("Add Protocols");
225 this.centerWindow();
226 //this.getRootPane().setDefaultButton(jButtonOk);
227 initFrame();
228 }
229
230 /**
231 Start the window at the center of screen
232
233 **/
234 protected void centerWindow(int intWidth, int intHeight) {
235 Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
236 this.setLocation((d.width - intWidth) / 2, (d.height - intHeight) / 2);
237 }
238
239 /**
240 Start the window at the center of screen
241
242 **/
243 protected void centerWindow() {
244 centerWindow(this.getSize().width, this.getSize().height);
245 }
246
247 /**
248 This method initializes jContentPane
249
250 @return javax.swing.JPanel
251 **/
252 private JPanel getJContentPane() {
253 if (jContentPane == null) {
254 jLabel = new JLabel();
255 jLabel.setBounds(new java.awt.Rectangle(16, 10, 138, 16));
256 jLabel.setText("Name");
257 starLabel = new StarLabel();
258 starLabel.setBounds(new java.awt.Rectangle(0, 9, 10, 20));
259 jLabelEnableFeature = new JLabel();
260 jLabelEnableFeature.setText("Enable Feature");
261 jLabelEnableFeature.setEnabled(false);
262 jLabelEnableFeature.setBounds(new java.awt.Rectangle(15, 110, 140, 20));
263 jLabelFeatureFlag = new JLabel();
264 jLabelFeatureFlag.setText("Feature Flag");
265 jLabelFeatureFlag.setEnabled(false);
266 jLabelFeatureFlag.setBounds(new java.awt.Rectangle(15, 135, 140, 20));
267 jLabelGuid = new JLabel();
268 jLabelGuid.setText("Guid");
269 jLabelGuid.setBounds(new java.awt.Rectangle(15, 60, 140, 20));
270 jLabelC_Name = new JLabel();
271 jLabelC_Name.setText("C_Name");
272 jLabelC_Name.setBounds(new java.awt.Rectangle(15, 35, 140, 20));
273 jContentPane = new JPanel();
274 jContentPane.setLayout(null);
275 jContentPane.add(jLabelC_Name, null);
276 jContentPane.add(getJTextFieldProtocolName(), null);
277 jContentPane.add(jLabelGuid, null);
278 jContentPane.add(getJTextFieldGuid(), null);
279 jContentPane.add(jLabelFeatureFlag, null);
280 jContentPane.add(getJTextFieldFeatureFlag(), null);
281 jContentPane.add(getJButtonOk(), null);
282 jContentPane.add(getJButtonCancel(), null);
283 jContentPane.add(jLabelEnableFeature, null);
284 jContentPane.add(getJRadioButtonEnableFeature(), null);
285 jContentPane.add(getJRadioButtonDisableFeature(), null);
286 jContentPane.add(getJButtonGenerateGuid(), null);
287
288 jStarLabel2 = new StarLabel();
289 jStarLabel2.setBounds(new java.awt.Rectangle(0, 35, 10, 20));
290
291 jContentPane.add(jStarLabel2, null);
292 jContentPane.add(starLabel, null);
293 jContentPane.add(jLabel, null);
294 jContentPane.add(getJTextField(), null);
295 }
296 return jContentPane;
297 }
298
299 /**
300 This method initializes protocol usage type
301
302 **/
303 private void initFrame() {
304
305 }
306
307 public void actionPerformed(ActionEvent arg0) {
308 if (arg0.getSource() == jButtonOk) {
309
310 this.save();
311 this.dispose();
312 }
313 if (arg0.getSource() == jButtonCancel) {
314 this.dispose();
315 }
316
317 if (arg0.getSource() == jRadioButtonEnableFeature) {
318 if (jRadioButtonEnableFeature.isSelected()) {
319 jRadioButtonDisableFeature.setSelected(false);
320 }
321 if (!jRadioButtonDisableFeature.isSelected() && !jRadioButtonEnableFeature.isSelected()) {
322 jRadioButtonEnableFeature.setSelected(true);
323 }
324 }
325
326 if (arg0.getSource() == jRadioButtonDisableFeature) {
327 if (jRadioButtonDisableFeature.isSelected()) {
328 jRadioButtonEnableFeature.setSelected(false);
329 }
330 if (!jRadioButtonDisableFeature.isSelected() && !jRadioButtonEnableFeature.isSelected()) {
331 jRadioButtonDisableFeature.setSelected(true);
332 }
333 }
334
335 if (arg0.getSource() == jButtonGenerateGuid) {
336 jTextFieldGuid.setText(Tools.generateUuidString());
337 }
338 }
339
340 protected void save() {
341 try {
342 sfc.genSpdProtocolDeclarations(jTextField.getText(), jTextFieldC_Name.getText(), jTextFieldGuid.getText(),
343 null);
344 } catch (Exception e) {
345 System.out.println(e.toString());
346 }
347 }
348
349 /**
350 This method initializes jTextField
351
352 @return javax.swing.JTextField
353 **/
354 public JTextField getJTextField() {
355 if (jTextField == null) {
356 jTextField = new JTextField();
357 jTextField.setBounds(new java.awt.Rectangle(160, 8, 319, 23));
358 }
359 return jTextField;
360 }
361
362 public JTextField getJTextFieldC_Name() {
363 return jTextFieldC_Name;
364 }
365
366 public void setJTextFieldC_Name(JTextField textFieldC_Name) {
367 jTextFieldC_Name = textFieldC_Name;
368 }
369
370 public void setJTextField(JTextField textField) {
371 jTextField = textField;
372 }
373
374 public void setJTextFieldGuid(JTextField textFieldGuid) {
375 jTextFieldGuid = textFieldGuid;
376 }
377 } // @jve:decl-index=0:visual-constraint="10,10"