]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/PackageEditor/src/org/tianocore/packaging/UpdateGuids.java
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@21 6f19259b...
[mirror_edk2.git] / Tools / Source / PackageEditor / src / org / tianocore / packaging / UpdateGuids.java
CommitLineData
878ddf1f 1/** @file\r
2 Java class UpdateGuids is GUI for update GUID declarations in spd file.\r
3 \r
4Copyright (c) 2006, Intel Corporation\r
5All rights reserved. This program and the accompanying materials\r
6are licensed and made available under the terms and conditions of the BSD License\r
7which accompanies this distribution. The full text of the license may be found at\r
8http://opensource.org/licenses/bsd-license.php\r
9\r
10THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12**/\r
13package org.tianocore.packaging;\r
14\r
15import javax.swing.JPanel;\r
16import javax.swing.JFrame;\r
17import javax.swing.JLabel;\r
18import javax.swing.JTextField;\r
19import javax.swing.JButton;\r
20\r
21import javax.swing.JScrollPane;\r
22import javax.swing.JTable;\r
23import javax.swing.table.*;\r
24\r
25import org.tianocore.common.Tools;\r
26\r
27import java.awt.event.ActionEvent;\r
28import java.awt.event.ActionListener;\r
29import java.io.*;\r
30\r
31/**\r
32 GUI for update GUID declarations in spd file\r
33 \r
34 @since PackageEditor 1.0\r
35**/\r
36public class UpdateGuids extends JFrame implements ActionListener {\r
37\r
38 private JPanel jContentPane = null;\r
39\r
40 private JScrollPane jScrollPane = null;\r
41\r
42 private JTable jTable = null;\r
43\r
44 private SpdFileContents sfc = null;\r
45\r
46 private JButton jButtonOk = null;\r
47\r
48 private JButton jButtonCancel = null;\r
49\r
50 private DefaultTableModel model = null;\r
51\r
52 private JButton jButton = null;\r
53\r
54 /**\r
55 This is the default constructor\r
56 **/\r
57 public UpdateGuids(SpdFileContents sfc) {\r
58 super();\r
59 this.sfc = sfc;\r
60 initialize();\r
61\r
62 }\r
63\r
64 public void actionPerformed(ActionEvent arg0) {\r
65 if (arg0.getSource() == jButtonOk) {\r
66 this.save();\r
67 this.dispose();\r
68\r
69 }\r
70 if (arg0.getSource() == jButtonCancel) {\r
71 this.dispose();\r
72\r
73 }\r
74 if (arg0.getSource() == jButton) {\r
75 String[] o = { "", "", "" };\r
76 model.addRow(o);\r
77 }\r
78 }\r
79\r
80 /**\r
81 This method initializes this\r
82 \r
83 @return void\r
84 **/\r
85 private void initialize() {\r
86 this.setSize(604, 553);\r
87 this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);\r
88 this.setTitle("Update GUID Declarations");\r
89 this.setContentPane(getJContentPane());\r
90 }\r
91\r
92 /**\r
93 This method initializes jContentPane\r
94 \r
95 @return javax.swing.JPanel\r
96 **/\r
97 private JPanel getJContentPane() {\r
98 if (jContentPane == null) {\r
99 jContentPane = new JPanel();\r
100 jContentPane.setLayout(null);\r
101 jContentPane.add(getJScrollPane(), null);\r
102 jContentPane.add(getJButtonOk(), null);\r
103 jContentPane.add(getJButtonCancel(), null);\r
104 jContentPane.add(getJButton(), null);\r
105 }\r
106 return jContentPane;\r
107 }\r
108\r
109 /**\r
110 This method initializes jScrollPane \r
111 \r
112 @return javax.swing.JScrollPane \r
113 **/\r
114 private JScrollPane getJScrollPane() {\r
115 if (jScrollPane == null) {\r
116 jScrollPane = new JScrollPane();\r
117 jScrollPane.setBounds(new java.awt.Rectangle(38, 45, 453, 419));\r
118 jScrollPane.setViewportView(getJTable());\r
119 }\r
120 return jScrollPane;\r
121 }\r
122\r
123 /**\r
124 This method initializes jTable \r
125 \r
126 @return javax.swing.JTable \r
127 **/\r
128 private JTable getJTable() {\r
129 if (jTable == null) {\r
130 model = new DefaultTableModel();\r
131 jTable = new JTable(model);\r
132 jTable.setRowHeight(20);\r
133 model.addColumn("Name");\r
134 model.addColumn("C_Name");\r
135 model.addColumn("GUID");\r
136 if (sfc.getSpdGuidDeclarationCount() == 0) {\r
137 return jTable;\r
138 }\r
139 //\r
140 // initialize table using SpdFileContents object\r
141 //\r
142 String[][] saa = new String[sfc.getSpdGuidDeclarationCount()][3];\r
143 sfc.getSpdGuidDeclarations(saa);\r
144 int i = 0;\r
145 while (i < saa.length) {\r
146 model.addRow(saa[i]);\r
147 i++;\r
148 }\r
149\r
150 }\r
151 return jTable;\r
152 }\r
153\r
154 /**\r
155 Remove original GUID declarations before saving updated ones\r
156 **/\r
157 protected void save() {\r
8d29653d 158 if (jTable.isEditing()) {\r
159 jTable.getCellEditor().stopCellEditing();\r
160 }\r
878ddf1f 161 sfc.removeSpdGuidDeclaration();\r
162 int rowCount = model.getRowCount();\r
163 int i = 0;\r
164\r
165 while (i < rowCount) {\r
166 String name = null;\r
167 if (model.getValueAt(i, 0) != null) {\r
168 name = model.getValueAt(i, 0).toString();\r
169 }\r
170 String cName = null;\r
171 if (model.getValueAt(i, 1) != null) {\r
172 cName = model.getValueAt(i, 1).toString();\r
173 }\r
174 String guid = null;\r
175 if (model.getValueAt(i, 2) != null) {\r
176 guid = model.getValueAt(i, 2).toString();\r
177 }\r
178 sfc.genSpdGuidDeclarations(name, cName, guid, null);\r
179 i++;\r
180 }\r
181 }\r
182\r
183 /**\r
184 This method initializes jButtonOk \r
185 \r
186 @return javax.swing.JButton \r
187 **/\r
188 private JButton getJButtonOk() {\r
189 if (jButtonOk == null) {\r
190 jButtonOk = new JButton();\r
191 jButtonOk.setText("Ok");\r
192 jButtonOk.setSize(new java.awt.Dimension(84, 20));\r
193 jButtonOk.setLocation(new java.awt.Point(316, 486));\r
194 jButtonOk.addActionListener(this);\r
195 }\r
196 return jButtonOk;\r
197 }\r
198\r
199 /**\r
200 This method initializes jButtonCancel \r
201 \r
202 @return javax.swing.JButton \r
203 **/\r
204 private JButton getJButtonCancel() {\r
205 if (jButtonCancel == null) {\r
206 jButtonCancel = new JButton();\r
207 jButtonCancel.setText("Cancel");\r
208 jButtonCancel.setSize(new java.awt.Dimension(82, 20));\r
209 jButtonCancel.setLocation(new java.awt.Point(411, 486));\r
210 jButtonCancel.addActionListener(this);\r
211 }\r
212 return jButtonCancel;\r
213 }\r
214\r
215 /**\r
216 This method initializes jButton \r
217 \r
218 @return javax.swing.JButton \r
219 **/\r
220 private JButton getJButton() {\r
221 if (jButton == null) {\r
222 jButton = new JButton();\r
223 jButton.setBounds(new java.awt.Rectangle(219, 487, 78, 18));\r
224 jButton.setText("Insert");\r
225 jButton.addActionListener(this);\r
226 }\r
227 return jButton;\r
228 }\r
229} // @jve:decl-index=0:visual-constraint="11,7"\r