2 Java class PackageProtocols is GUI for create Protocol definition elements of spd file.
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
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.
13 package org
.tianocore
.packaging
;
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
;
24 import javax
.swing
.JComboBox
;
25 import javax
.swing
.JRadioButton
;
26 import javax
.swing
.JFrame
;
28 import org
.tianocore
.common
.Tools
;
29 import org
.tianocore
.packaging
.common
.ui
.StarLabel
;
32 GUI for create Protocol definition elements of spd file.
34 @since PackageEditor 1.0
36 public class PackageProtocols
extends JFrame
implements ActionListener
{
38 private int location
= -1;
40 private SpdFileContents sfc
= null;
42 private JPanel jContentPane
= null;
44 private JLabel jLabelC_Name
= null;
46 private JTextField jTextFieldC_Name
= null;
48 private JLabel jLabelGuid
= null;
50 private JTextField jTextFieldGuid
= null;
52 private JLabel jLabelFeatureFlag
= null;
54 private JTextField jTextFieldFeatureFlag
= null;
56 private JButton jButtonOk
= null;
58 private JButton jButtonCancel
= null;
60 private JLabel jLabelEnableFeature
= null;
62 private JRadioButton jRadioButtonEnableFeature
= null;
64 private JRadioButton jRadioButtonDisableFeature
= null;
66 private JButton jButtonGenerateGuid
= null;
68 private StarLabel jStarLabel2
= null;
70 private StarLabel starLabel
= null;
72 private JLabel jLabel
= null;
74 private JTextField jTextField
= null;
77 This method initializes this
80 private void initialize() {
81 this.setDefaultCloseOperation(javax
.swing
.WindowConstants
.DISPOSE_ON_CLOSE
);
86 This method initializes jTextFieldProtocolName
88 @return javax.swing.JTextField
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));
95 return jTextFieldC_Name
;
99 This method initializes jTextFieldGuid
101 @return javax.swing.JTextField
103 public JTextField
getJTextFieldGuid() {
104 if (jTextFieldGuid
== null) {
105 jTextFieldGuid
= new JTextField();
106 jTextFieldGuid
.setBounds(new java
.awt
.Rectangle(160, 60, 240, 20));
108 return jTextFieldGuid
;
112 This method initializes jTextFieldFeatureFlag
114 @return javax.swing.JTextField
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);
122 return jTextFieldFeatureFlag
;
126 This method initializes jButton
128 @return javax.swing.JButton
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);
141 This method initializes jButton1
143 @return javax.swing.JButton
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);
153 return jButtonCancel
;
157 This method initializes jRadioButtonEnableFeature
159 @return javax.swing.JRadioButton
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);
170 return jRadioButtonEnableFeature
;
174 This method initializes jRadioButtonDisableFeature
176 @return javax.swing.JRadioButton
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);
186 return jRadioButtonDisableFeature
;
190 This method initializes jButtonGenerateGuid
192 @return javax.swing.JButton
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);
201 return jButtonGenerateGuid
;
205 This is the default constructor
207 public PackageProtocols(SpdFileContents sfc
) {
211 this.setVisible(true);
216 This method initializes this
220 private void init() {
221 this.setSize(500, 250);
222 this.setName("JFrame");
223 this.setContentPane(getJContentPane());
224 this.setTitle("Add Protocols");
226 //this.getRootPane().setDefaultButton(jButtonOk);
231 Start the window at the center of screen
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);
240 Start the window at the center of screen
243 protected void centerWindow() {
244 centerWindow(this.getSize().width
, this.getSize().height
);
248 This method initializes jContentPane
250 @return javax.swing.JPanel
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);
288 jStarLabel2
= new StarLabel();
289 jStarLabel2
.setBounds(new java
.awt
.Rectangle(0, 35, 10, 20));
291 jContentPane
.add(jStarLabel2
, null);
292 jContentPane
.add(starLabel
, null);
293 jContentPane
.add(jLabel
, null);
294 jContentPane
.add(getJTextField(), null);
300 This method initializes protocol usage type
303 private void initFrame() {
307 public void actionPerformed(ActionEvent arg0
) {
308 if (arg0
.getSource() == jButtonOk
) {
313 if (arg0
.getSource() == jButtonCancel
) {
317 if (arg0
.getSource() == jRadioButtonEnableFeature
) {
318 if (jRadioButtonEnableFeature
.isSelected()) {
319 jRadioButtonDisableFeature
.setSelected(false);
321 if (!jRadioButtonDisableFeature
.isSelected() && !jRadioButtonEnableFeature
.isSelected()) {
322 jRadioButtonEnableFeature
.setSelected(true);
326 if (arg0
.getSource() == jRadioButtonDisableFeature
) {
327 if (jRadioButtonDisableFeature
.isSelected()) {
328 jRadioButtonEnableFeature
.setSelected(false);
330 if (!jRadioButtonDisableFeature
.isSelected() && !jRadioButtonEnableFeature
.isSelected()) {
331 jRadioButtonDisableFeature
.setSelected(true);
335 if (arg0
.getSource() == jButtonGenerateGuid
) {
336 jTextFieldGuid
.setText(Tools
.generateUuidString());
340 protected void save() {
342 sfc
.genSpdProtocolDeclarations(jTextField
.getText(), jTextFieldC_Name
.getText(), jTextFieldGuid
.getText(),
344 } catch (Exception e
) {
345 System
.out
.println(e
.toString());
350 This method initializes jTextField
352 @return javax.swing.JTextField
354 public JTextField
getJTextField() {
355 if (jTextField
== null) {
356 jTextField
= new JTextField();
357 jTextField
.setBounds(new java
.awt
.Rectangle(160, 8, 319, 23));
362 public JTextField
getJTextFieldC_Name() {
363 return jTextFieldC_Name
;
366 public void setJTextFieldC_Name(JTextField textFieldC_Name
) {
367 jTextFieldC_Name
= textFieldC_Name
;
370 public void setJTextField(JTextField textField
) {
371 jTextField
= textField
;
374 public void setJTextFieldGuid(JTextField textFieldGuid
) {
375 jTextFieldGuid
= textFieldGuid
;
377 } // @jve:decl-index=0:visual-constraint="10,10"