]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/PackageEditor/src/org/tianocore/packaging/UpdateMsaFile.java
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@22 6f19259b...
[mirror_edk2.git] / Tools / Source / PackageEditor / src / org / tianocore / packaging / UpdateMsaFile.java
CommitLineData
878ddf1f 1/** @file\r
2 Java class UpdateLibraryClass is GUI for msa files 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
29\r
30/**\r
31 GUI for msa files in spd file\r
32 \r
33 @since PackageEditor 1.0\r
34**/\r
35public class UpdateMsaFile extends JFrame implements ActionListener {\r
36\r
37 private JPanel jContentPane = null;\r
38\r
39 private JScrollPane jScrollPane = null;\r
40\r
41 private JTable jTable = null;\r
42\r
43 private SpdFileContents sfc = null;\r
44\r
45 private JButton jButtonOk = null;\r
46\r
47 private JButton jButtonCancel = null;\r
48\r
49 private DefaultTableModel model = null;\r
50\r
51 private JButton jButton = null;\r
52\r
53 /**\r
54 This is the default constructor\r
55 **/\r
56 public UpdateMsaFile(SpdFileContents sfc) {\r
57 super();\r
58 this.sfc = sfc;\r
59 initialize();\r
60\r
61 }\r
62\r
63 public void actionPerformed(ActionEvent arg0) {\r
64 if (arg0.getSource() == jButtonOk) {\r
65 this.save();\r
66 this.dispose();\r
67\r
68 }\r
69 if (arg0.getSource() == jButtonCancel) {\r
70 this.dispose();\r
71\r
72 }\r
73 if (arg0.getSource() == jButton) {\r
74 String[] o = { "" };\r
75 model.addRow(o);\r
76 }\r
77 }\r
78\r
79 /**\r
80 This method initializes this\r
81 \r
82 @return void\r
83 **/\r
84 private void initialize() {\r
85 this.setSize(604, 553);\r
86 this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);\r
87 this.setTitle("Update MSA Files");\r
88 this.setContentPane(getJContentPane());\r
89 }\r
90\r
91 /**\r
92 This method initializes jContentPane\r
93 \r
94 @return javax.swing.JPanel\r
95 **/\r
96 private JPanel getJContentPane() {\r
97 if (jContentPane == null) {\r
98 jContentPane = new JPanel();\r
99 jContentPane.setLayout(null);\r
100 jContentPane.add(getJScrollPane(), null);\r
101 jContentPane.add(getJButtonOk(), null);\r
102 jContentPane.add(getJButtonCancel(), null);\r
103 jContentPane.add(getJButton(), null);\r
104 }\r
105 return jContentPane;\r
106 }\r
107\r
108 /**\r
109 This method initializes jScrollPane \r
110 \r
111 @return javax.swing.JScrollPane \r
112 **/\r
113 private JScrollPane getJScrollPane() {\r
114 if (jScrollPane == null) {\r
115 jScrollPane = new JScrollPane();\r
116 jScrollPane.setBounds(new java.awt.Rectangle(38, 45, 453, 419));\r
117 jScrollPane.setViewportView(getJTable());\r
118 }\r
119 return jScrollPane;\r
120 }\r
121\r
122 /**\r
123 This method initializes jTable \r
124 \r
125 @return javax.swing.JTable \r
126 **/\r
127 private JTable getJTable() {\r
128 if (jTable == null) {\r
129 model = new DefaultTableModel();\r
130 jTable = new JTable(model);\r
131 jTable.setRowHeight(20);\r
132 model.addColumn("MSA File");\r
133\r
134 if (sfc.getSpdMsaFileCount() == 0) {\r
135 return jTable;\r
136 }\r
137 //\r
138 // initialize table using SpdFileContents object\r
139 //\r
140 String[][] saa = new String[sfc.getSpdMsaFileCount()][1];\r
141 sfc.getSpdMsaFiles(saa); \r
142 int i = 0;\r
143 while (i < saa.length) {\r
144 model.addRow(saa[i]);\r
145 i++;\r
146 }\r
147 }\r
148 return jTable;\r
149 }\r
150\r
151 /**\r
152 Remove original Msa files before saving updated ones\r
153 **/\r
154 protected void save() {\r
ee19dec6 155 if (jTable.isEditing()) {\r
156 jTable.getCellEditor().stopCellEditing();\r
157 }\r
878ddf1f 158 sfc.removeSpdMsaFile();\r
159 int rowCount = jTable.getRowCount();\r
160 int i = 0;\r
161 while (i < rowCount) {\r
162 String msaFile = null;\r
163 if (jTable.getValueAt(i, 0) != null) {\r
164 msaFile = jTable.getValueAt(i, 0).toString();\r
165 }\r
166 sfc.genSpdMsaFiles(msaFile, null);\r
167 i++;\r
168 }\r
169 }\r
170\r
171 /**\r
172 This method initializes jButtonOk \r
173 \r
174 @return javax.swing.JButton \r
175 **/\r
176 private JButton getJButtonOk() {\r
177 if (jButtonOk == null) {\r
178 jButtonOk = new JButton();\r
179 jButtonOk.setText("Ok");\r
180 jButtonOk.setSize(new java.awt.Dimension(84, 20));\r
181 jButtonOk.setLocation(new java.awt.Point(316, 486));\r
182 jButtonOk.addActionListener(this);\r
183 }\r
184 return jButtonOk;\r
185 }\r
186\r
187 /**\r
188 This method initializes jButtonCancel \r
189 \r
190 @return javax.swing.JButton \r
191 **/\r
192 private JButton getJButtonCancel() {\r
193 if (jButtonCancel == null) {\r
194 jButtonCancel = new JButton();\r
195 jButtonCancel.setText("Cancel");\r
196 jButtonCancel.setSize(new java.awt.Dimension(82, 20));\r
197 jButtonCancel.setLocation(new java.awt.Point(411, 486));\r
198 jButtonCancel.addActionListener(this);\r
199 }\r
200 return jButtonCancel;\r
201 }\r
202\r
203 /**\r
204 This method initializes jButton \r
205 \r
206 @return javax.swing.JButton \r
207 **/\r
208 private JButton getJButton() {\r
209 if (jButton == null) {\r
210 jButton = new JButton();\r
211 jButton.setBounds(new java.awt.Rectangle(219, 486, 79, 19));\r
212 jButton.setText("Insert");\r
213 jButton.addActionListener(this);\r
214 }\r
215 return jButton;\r
216 }\r
217\r
218} // @jve:decl-index=0:visual-constraint="11,7"\r
219\r