]> git.proxmox.com Git - mirror_edk2.git/blob - Tools/Source/PackageEditor/src/org/tianocore/packaging/PackagePCD.java
Initial import.
[mirror_edk2.git] / Tools / Source / PackageEditor / src / org / tianocore / packaging / PackagePCD.java
1 /** @file
2 Java class PackagePCD is GUI for create PCD 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 java.awt.Dimension;
16 import java.awt.Toolkit;
17 import java.awt.event.ActionEvent;
18 import java.awt.event.ActionListener;
19
20 import javax.swing.ButtonGroup;
21 import javax.swing.JPanel;
22 import javax.swing.JRadioButton;
23 import javax.swing.JLabel;
24 import javax.swing.JTextField;
25 import javax.swing.JComboBox;
26 import javax.swing.JButton;
27 import javax.swing.JFrame;
28
29 import org.tianocore.common.Tools;
30 import org.tianocore.packaging.common.ui.StarLabel;
31
32 /**
33 GUI for create PCD definition elements of spd file
34
35 @since PackageEditor 1.0
36 **/
37 public class PackagePCD extends JFrame implements ActionListener {
38
39 private JPanel jContentPane = null;
40
41 private JLabel jLabelItemType = null;
42
43 private JLabel jLabelC_Name = null;
44
45 private JComboBox jComboBoxItemType = null;
46
47 private JTextField jTextFieldC_Name = null;
48
49 private JLabel jLabelToken = null;
50
51 private JTextField jTextFieldToken = null;
52
53 private JLabel jLabelDataType = null;
54
55 private JButton jButtonOk = null;
56
57 private JButton jButtonCancel = null;
58
59 private JComboBox jComboBoxDataType = null;
60
61 private JLabel jLabelOverrideID = null;
62
63 private JTextField jTextFieldOverrideID = null;
64
65 private ButtonGroup bg1 = null;
66
67 private ButtonGroup bg2 = null;
68
69 private ButtonGroup bg3 = null;
70
71 private StarLabel jStarLabel2 = null;
72
73 private StarLabel jStarLabel3 = null;
74
75 private SpdFileContents sfc = null;
76
77 private StarLabel jStarLabel = null;
78
79 private StarLabel jStarLabel1 = null;
80
81 /**
82 This method initializes this
83
84 **/
85 private void initialize() {
86 this.setTitle("PCD Definition");
87 this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
88
89 }
90
91 /**
92 This method initializes jComboBoxItemType
93
94 @return javax.swing.JComboBox
95 **/
96 private JComboBox getJComboBoxItemType() {
97 if (jComboBoxItemType == null) {
98 jComboBoxItemType = new JComboBox();
99 jComboBoxItemType.setBounds(new java.awt.Rectangle(160, 110, 320, 20));
100 }
101 return jComboBoxItemType;
102 }
103
104 /**
105 This method initializes jTextFieldC_Name
106
107 @return javax.swing.JTextField
108 **/
109 private JTextField getJTextFieldC_Name() {
110 if (jTextFieldC_Name == null) {
111 jTextFieldC_Name = new JTextField();
112 jTextFieldC_Name.setBounds(new java.awt.Rectangle(160, 60, 320, 20));
113 }
114 return jTextFieldC_Name;
115 }
116
117 /**
118 This method initializes jTextFieldToken
119
120 @return javax.swing.JTextField
121 **/
122 private JTextField getJTextFieldToken() {
123 if (jTextFieldToken == null) {
124 jTextFieldToken = new JTextField();
125 jTextFieldToken.setBounds(new java.awt.Rectangle(160, 135, 320, 20));
126 }
127 return jTextFieldToken;
128 }
129
130 /**
131 This method initializes jButtonOk
132
133 @return javax.swing.JButton
134 **/
135 private JButton getJButtonOk() {
136 if (jButtonOk == null) {
137 jButtonOk = new JButton();
138 jButtonOk.setText("OK");
139 jButtonOk.setBounds(new java.awt.Rectangle(279,247,90,20));
140 jButtonOk.addActionListener(this);
141 }
142 return jButtonOk;
143 }
144
145 /**
146 This method initializes jButtonCancel
147
148 @return javax.swing.JButton
149 **/
150 private JButton getJButtonCancel() {
151 if (jButtonCancel == null) {
152 jButtonCancel = new JButton();
153 jButtonCancel.setText("Cancel");
154 jButtonCancel.setBounds(new java.awt.Rectangle(389,247,90,20));
155 jButtonCancel.addActionListener(this);
156 }
157 return jButtonCancel;
158 }
159
160 /**
161 This method initializes jComboBoxDataType
162
163 @return javax.swing.JComboBox
164 **/
165 private JComboBox getJComboBoxDataType() {
166 if (jComboBoxDataType == null) {
167 jComboBoxDataType = new JComboBox();
168 jComboBoxDataType.setBounds(new java.awt.Rectangle(160, 160, 320, 20));
169 }
170 return jComboBoxDataType;
171 }
172
173 /**
174 This method initializes jTextFieldOverrideID
175
176 @return javax.swing.JTextField
177 **/
178 private JTextField getJTextFieldOverrideID() {
179 if (jTextFieldOverrideID == null) {
180 jTextFieldOverrideID = new JTextField();
181 jTextFieldOverrideID.setBounds(new java.awt.Rectangle(159,198,320,20));
182 }
183 return jTextFieldOverrideID;
184 }
185
186 /**
187 This is the default constructor
188 **/
189 public PackagePCD(SpdFileContents sfc) {
190 super();
191 init();
192 initialize();
193 this.sfc = sfc;
194 }
195
196 /**
197 This method initializes this
198
199 @return void
200 **/
201 private void init() {
202 this.setSize(500, 450);
203 this.setContentPane(getJContentPane());
204 this.setTitle("Add PCDs");
205 this.centerWindow();
206 this.getRootPane().setDefaultButton(jButtonOk);
207 initFrame();
208 this.setVisible(true);
209 }
210
211 /**
212 Start the window at the center of screen
213 *
214 **/
215 protected void centerWindow(int intWidth, int intHeight) {
216 Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
217 this.setLocation((d.width - intWidth) / 2, (d.height - intHeight) / 2);
218 }
219
220 /**
221 Start the window at the center of screen
222 *
223 **/
224 protected void centerWindow() {
225 centerWindow(this.getSize().width, this.getSize().height);
226 }
227
228 private JPanel getJContentPane() {
229 if (jContentPane == null) {
230 jLabelOverrideID = new JLabel();
231 jLabelOverrideID.setBounds(new java.awt.Rectangle(14,197,140,20));
232 jLabelOverrideID.setText("Default Value");
233 jLabelC_Name = new JLabel();
234 jLabelC_Name.setText("C_Name");
235 jLabelC_Name.setBounds(new java.awt.Rectangle(15, 60, 140, 20));
236 jLabelDataType = new JLabel();
237 jLabelDataType.setText("Data Type");
238 jLabelDataType.setBounds(new java.awt.Rectangle(15, 160, 140, 20));
239 jLabelToken = new JLabel();
240 jLabelToken.setText("Token");
241 jLabelToken.setBounds(new java.awt.Rectangle(15, 135, 140, 20));
242 jLabelItemType = new JLabel();
243 jLabelItemType.setText("Item Type");
244 jLabelItemType.setBounds(new java.awt.Rectangle(15, 110, 140, 20));
245 bg1 = new ButtonGroup();
246 bg2 = new ButtonGroup();
247 bg3 = new ButtonGroup();
248 //bg1.add(getJRadioButtonPCData());
249 //bg2.add(getJRadioButtonPcdBuildData());
250 jContentPane = new JPanel();
251 jContentPane.setLayout(null);
252 //jContentPane.add(bg1);
253 jContentPane.add(jLabelItemType, null);
254 jContentPane.add(jLabelC_Name, null);
255 jContentPane.add(getJTextFieldC_Name(), null);
256 jContentPane.add(jLabelToken, null);
257 jContentPane.add(getJTextFieldToken(), null);
258 jContentPane.add(jLabelDataType, null);
259 jContentPane.add(getJButtonOk(), null);
260 jContentPane.add(getJButtonCancel(), null);
261 jContentPane.add(getJComboBoxItemType(), null);
262 jContentPane.add(getJComboBoxDataType(), null);
263 jContentPane.add(jLabelOverrideID, null);
264 jContentPane.add(getJTextFieldOverrideID(), null);
265
266 jStarLabel = new StarLabel();
267 jStarLabel1 = new StarLabel();
268 jStarLabel1.setBounds(new java.awt.Rectangle(6, 59, 10, 20));
269 jStarLabel2 = new StarLabel();
270 jStarLabel3 = new StarLabel();
271 jStarLabel.setLocation(new java.awt.Point(6, 110));
272 jStarLabel.setLocation(new java.awt.Point(5, 85));
273 jStarLabel2.setLocation(new java.awt.Point(5, 134));
274 jStarLabel3.setLocation(new java.awt.Point(5, 159));
275 jContentPane.add(jStarLabel2, null);
276 jContentPane.add(jStarLabel3, null);
277 jContentPane.add(jStarLabel, null);
278 jContentPane.add(jStarLabel1, null);
279 }
280 return jContentPane;
281 }
282
283 /**
284 This method initializes comboboxes
285
286 **/
287 private void initFrame() {
288
289 jComboBoxItemType.addItem("FEATURE_FLAG");
290 jComboBoxItemType.addItem("FIXED_AT_BUILD");
291 jComboBoxItemType.addItem("PATCHABLE_IN_MODULE");
292 jComboBoxItemType.addItem("DYNAMIC");
293 jComboBoxItemType.addItem("DYNAMIC_EX");
294
295 jComboBoxDataType.addItem("UINT8");
296 jComboBoxDataType.addItem("UINT16");
297 jComboBoxDataType.addItem("UINT32");
298 jComboBoxDataType.addItem("UINT64");
299 jComboBoxDataType.addItem("VOID*");
300 jComboBoxDataType.addItem("BOOLEAN");
301 }
302
303 public void actionPerformed(ActionEvent arg0) {
304 if (arg0.getSource() == jButtonOk) {
305 save();
306 this.dispose();
307 }
308 if (arg0.getSource() == jButtonCancel) {
309 this.dispose();
310 }
311
312
313 }
314
315 protected void save() {
316
317 sfc.genSpdPcdDefinitions(jComboBoxItemType.getSelectedItem().toString(), jTextFieldC_Name.getText(),
318 jTextFieldToken.getText(), jComboBoxDataType.getSelectedItem().toString(), null,
319 null, null, null, null, null, jTextFieldOverrideID.getText());
320 }
321 } // @jve:decl-index=0:visual-constraint="22,11"