]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdPlatformDefs.java
1. Add feature of ModuleSA PcdBuildDefinition editor.
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / platform / ui / FpdPlatformDefs.java
CommitLineData
a13899c5 1/** @file\r
2 Java class FpdPlatformDefs is GUI for Flash element operation 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.frameworkwizard.platform.ui;\r
14\r
15import java.awt.BorderLayout;\r
16import javax.swing.JPanel;\r
17\r
a13899c5 18import javax.swing.JFrame;\r
a13899c5 19import javax.swing.JTabbedPane;\r
20import javax.swing.JButton;\r
6a09eb19 21import javax.swing.ListSelectionModel;\r
a13899c5 22\r
23import org.tianocore.PlatformSurfaceAreaDocument;\r
d6d24759 24import org.tianocore.frameworkwizard.common.Identifications.OpeningPlatformType;\r
a13899c5 25import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
a13899c5 26\r
27\r
28import java.awt.FlowLayout;\r
44053733 29\r
a13899c5 30\r
31import javax.swing.JCheckBox;\r
32import javax.swing.JTextField;\r
a13899c5 33import javax.swing.JLabel;\r
34import javax.swing.JScrollPane;\r
35import javax.swing.JTable;\r
44053733 36import javax.swing.event.InternalFrameAdapter;\r
37import javax.swing.event.InternalFrameEvent;\r
a13899c5 38import javax.swing.event.TableModelEvent;\r
39import javax.swing.event.TableModelListener;\r
40import javax.swing.table.DefaultTableModel;\r
a13899c5 41import javax.swing.table.TableModel;\r
42import javax.swing.JComboBox;\r
43import java.awt.Dimension;\r
6a09eb19 44import java.util.Vector;\r
a13899c5 45\r
46public class FpdPlatformDefs extends IInternalFrame {\r
47\r
44053733 48 /**\r
49 * \r
50 */\r
51 private static final long serialVersionUID = 1L;\r
a13899c5 52 static JFrame frame;\r
53 private JPanel jContentPane = null;\r
54 private JPanel jPanel = null;\r
55 private JPanel jPanel1 = null;\r
56 private JPanel jPanel2 = null;\r
57 private JPanel jPanel3 = null;\r
58 private JTabbedPane jTabbedPane = null;\r
59 private JButton jButtonOk = null;\r
60 private JButton jButtonCancel = null;\r
6a09eb19 61 private TargetTableModel imageEntryPointTableModel = null;\r
a13899c5 62 \r
6a09eb19 63 private SkuInfoTableModel skuInfoTableModel = null;\r
d6d24759 64 private OpeningPlatformType docConsole = null;\r
a13899c5 65 private FpdFileContents ffc = null;\r
66 private JPanel jPanel4 = null;\r
67 private JPanel jPanel5 = null;\r
68 private JLabel jLabel = null;\r
69 private JCheckBox jCheckBox1 = null;\r
70 private JCheckBox jCheckBox2 = null;\r
71 private JCheckBox jCheckBox3 = null;\r
72 private JPanel jPanel6 = null;\r
a13899c5 73 private JCheckBox jCheckBox4 = null;\r
74 private JComboBox jComboBox = null;\r
a13899c5 75 private JTable jTable = null;\r
76 private JPanel jPanel7 = null;\r
77 private JLabel jLabel2 = null;\r
78 private JTextField jTextField1 = null;\r
79 private JButton jButton2 = null;\r
80 private JButton jButton3 = null;\r
81 private JScrollPane jScrollPane2 = null;\r
a13899c5 82 private JScrollPane jScrollPane3 = null;\r
83 private JTable jTable2 = null;\r
6a09eb19 84 private JCheckBox jCheckBox = null;\r
85 private JCheckBox jCheckBox5 = null;\r
86 private JCheckBox jCheckBox6 = null;\r
87 private JPanel jPanel8 = null;\r
88 private JLabel jLabel7 = null;\r
89 private JLabel jLabel1 = null;\r
90 private JTextField jTextField = null;\r
91 private JPanel jPanel9 = null;\r
92 private JLabel jLabel3 = null;\r
a13899c5 93 private JLabel jLabel4 = null;\r
94 private JTextField jTextField2 = null;\r
95 private JLabel jLabel5 = null;\r
96 private JTextField jTextField3 = null;\r
6a09eb19 97 private JButton jButton = null;\r
98 private JButton jButton1 = null;\r
a13899c5 99 private JLabel jLabel6 = null;\r
a13899c5 100 public FpdPlatformDefs() {\r
101 super();\r
102 // TODO Auto-generated constructor stub\r
103\r
104 initialize();\r
105 this.setBounds(new java.awt.Rectangle(0, 0, 500, 370));\r
106 this.setVisible(true);\r
107 }\r
108\r
109 public FpdPlatformDefs(PlatformSurfaceAreaDocument.PlatformSurfaceArea fpd){\r
110 this();\r
111 ffc = new FpdFileContents(fpd);\r
112 init(ffc);\r
113 }\r
114 \r
d6d24759 115 public FpdPlatformDefs(OpeningPlatformType opt) {\r
116 this(opt.getXmlFpd());\r
117 docConsole = opt;\r
118 }\r
119 \r
a13899c5 120 /**\r
121 * This method initializes jPanel \r
122 * \r
123 * @return javax.swing.JPanel \r
124 */\r
125 private JPanel getJPanel() {\r
126 if (jPanel == null) {\r
127 jPanel = new JPanel();\r
128 }\r
129 return jPanel;\r
130 }\r
131\r
132 /**\r
133 * This method initializes jPanel1 \r
134 * \r
135 * @return javax.swing.JPanel \r
136 */\r
137 private JPanel getJPanel1() {\r
138 if (jPanel1 == null) {\r
139 FlowLayout flowLayout = new FlowLayout();\r
140 flowLayout.setAlignment(java.awt.FlowLayout.RIGHT);\r
141 flowLayout.setHgap(15);\r
142 jPanel1 = new JPanel();\r
143 jPanel1.setLayout(flowLayout);\r
144 jPanel1.setComponentOrientation(java.awt.ComponentOrientation.LEFT_TO_RIGHT);\r
145 jPanel1.add(getJButtonCancel(), null);\r
146 jPanel1.add(getJButtonOk(), null);\r
147 }\r
148 return jPanel1;\r
149 }\r
150\r
151 /**\r
152 * This method initializes jPanel2 \r
153 * \r
154 * @return javax.swing.JPanel \r
155 */\r
156 private JPanel getJPanel2() {\r
157 if (jPanel2 == null) {\r
158 jPanel2 = new JPanel();\r
159 }\r
160 return jPanel2;\r
161 }\r
162\r
163 /**\r
164 * This method initializes jPanel3 \r
165 * \r
166 * @return javax.swing.JPanel \r
167 */\r
168 private JPanel getJPanel3() {\r
169 if (jPanel3 == null) {\r
170 jPanel3 = new JPanel();\r
171 }\r
172 return jPanel3;\r
173 }\r
174\r
175 /**\r
176 * This method initializes jTabbedPane \r
177 * \r
178 * @return javax.swing.JTabbedPane \r
179 */\r
180 private JTabbedPane getJTabbedPane() {\r
181 if (jTabbedPane == null) {\r
182 jTabbedPane = new JTabbedPane();\r
183 \r
184 jTabbedPane.addTab("General", null, getJPanel4(), null);\r
185 \r
186 }\r
187 return jTabbedPane;\r
188 }\r
189\r
190 /**\r
191 * This method initializes jButtonOk \r
192 * \r
193 * @return javax.swing.JButton \r
194 */\r
195 private JButton getJButtonOk() {\r
196 if (jButtonOk == null) {\r
197 jButtonOk = new JButton();\r
198 jButtonOk.setPreferredSize(new java.awt.Dimension(80,20));\r
199 jButtonOk.setText("Cancel");\r
200 jButtonOk.setVisible(false);\r
201 }\r
202 return jButtonOk;\r
203 }\r
204\r
205 /**\r
206 * This method initializes jButtonCancel \r
207 * \r
208 * @return javax.swing.JButton \r
209 */\r
210 private JButton getJButtonCancel() {\r
211 if (jButtonCancel == null) {\r
212 jButtonCancel = new JButton();\r
213 jButtonCancel.setPreferredSize(new java.awt.Dimension(80,20));\r
214 jButtonCancel.setText("Ok");\r
215 jButtonCancel.setVisible(false);\r
216 }\r
217 return jButtonCancel;\r
218 }\r
219\r
6a09eb19 220 /**\r
a13899c5 221 * This method initializes this\r
222 * \r
223 * @return void\r
224 */\r
225 private void initialize() {\r
226 this.setSize(518, 650);\r
227 this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);\r
228 this.setContentPane(getJContentPane());\r
229 this.setTitle("FPD Platform Definitions");\r
44053733 230 this.addInternalFrameListener(new InternalFrameAdapter(){\r
231 public void internalFrameDeactivated(InternalFrameEvent e){\r
232 if (jTable.isEditing()) {\r
233 jTable.getCellEditor().stopCellEditing();\r
234 }\r
235 if (jTable2.isEditing()) {\r
236 jTable2.getCellEditor().stopCellEditing();\r
237 }\r
238 \r
239 }\r
240 });\r
a13899c5 241 }\r
242\r
243 private void init(FpdFileContents ffc) {\r
6a09eb19 244 Vector<Object> v = new Vector<Object>();\r
245 ffc.getPlatformDefsSupportedArchs(v);\r
246 showToolChain(v);\r
247 \r
248 imageEntryPointTableModel.setRowCount(0);\r
249 v.removeAllElements();\r
250 ffc.getPlatformDefsBuildTargets(v);\r
251 for (int i = 0; i < v.size(); ++i){\r
252 Object[] row = {v.get(i)};\r
253 imageEntryPointTableModel.addRow(row);\r
254 }\r
a13899c5 255 \r
6a09eb19 256 String[][] saa = new String[ffc.getPlatformDefsSkuInfoCount()][2];\r
257 ffc.getPlatformDefsSkuInfos(saa);\r
258 for (int i = 0; i < saa.length; ++i) {\r
259 skuInfoTableModel.addRow(saa[i]);\r
260 }\r
261 \r
262 String interDir = ffc.getPlatformDefsInterDir();\r
263 if (interDir != null) {\r
264 jComboBox.setSelectedItem(interDir);\r
265 }\r
266 \r
267 String outputDir = ffc.getPlatformDefsOutputDir();\r
268 if (outputDir != null) {\r
269 jTextField.setText(outputDir);\r
270 }\r
a13899c5 271 }\r
272 \r
6a09eb19 273 private void showToolChain(Vector<Object> v) {\r
274 if (v.contains("IA32")) {\r
275 jCheckBox1.setSelected(true);\r
276 }\r
277 else{\r
278 jCheckBox1.setSelected(false);\r
279 }\r
280 if (v.contains("X64")) {\r
281 jCheckBox2.setSelected(true);\r
282 }\r
283 else{\r
284 jCheckBox2.setSelected(false);\r
285 }\r
286 if (v.contains("IPF")) {\r
287 jCheckBox3.setSelected(true);\r
288 }\r
289 else{\r
290 jCheckBox3.setSelected(false);\r
291 }\r
292 if (v.contains("EBC")) {\r
293 jCheckBox.setSelected(true);\r
294 }\r
295 else{\r
296 jCheckBox.setSelected(false);\r
297 }\r
298 if (v.contains("ARM")) {\r
299 jCheckBox5.setSelected(true);\r
300 }\r
301 else{\r
302 jCheckBox5.setSelected(false);\r
303 }\r
304 if (v.contains("PPC")) {\r
305 jCheckBox6.setSelected(true);\r
306 }\r
307 else{\r
308 jCheckBox6.setSelected(false);\r
309 }\r
310 }\r
a13899c5 311 \r
6a09eb19 312 private void getToolChain(Vector<Object> v) {\r
d6d24759 313 if (docConsole != null){\r
314 docConsole.setSaved(false);\r
315 }\r
6a09eb19 316 v.removeAllElements();\r
317 if (jCheckBox1.isSelected()) {\r
318 v.add("IA32");\r
319 }\r
320 if (jCheckBox2.isSelected()) {\r
321 v.add("X64");\r
322 }\r
323 if (jCheckBox3.isSelected()) {\r
324 v.add("IPF");\r
325 }\r
326 if (jCheckBox.isSelected()) {\r
327 v.add("EBC");\r
328 }\r
329 if (jCheckBox5.isSelected()) {\r
330 v.add("ARM");\r
331 }\r
332 if (jCheckBox6.isSelected()) {\r
333 v.add("PPC");\r
334 }\r
335 }\r
a13899c5 336 \r
337 /**\r
338 * This method initializes jContentPane\r
339 * \r
340 * @return javax.swing.JPanel\r
341 */\r
342 private JPanel getJContentPane() {\r
343 if (jContentPane == null) {\r
344 jContentPane = new JPanel();\r
345 jContentPane.setLayout(new BorderLayout());\r
346 jContentPane.add(getJPanel(), java.awt.BorderLayout.EAST);\r
347 jContentPane.add(getJPanel1(), java.awt.BorderLayout.SOUTH);\r
348 jContentPane.add(getJPanel2(), java.awt.BorderLayout.WEST);\r
349 jContentPane.add(getJPanel3(), java.awt.BorderLayout.NORTH);\r
350 jContentPane.add(getJTabbedPane(), java.awt.BorderLayout.CENTER);\r
351 }\r
352 return jContentPane;\r
353 }\r
354\r
355 /**\r
356 * This method initializes jPanel4 \r
357 * \r
358 * @return javax.swing.JPanel \r
359 */\r
360 private JPanel getJPanel4() {\r
361 if (jPanel4 == null) {\r
362 jPanel4 = new JPanel();\r
363 jPanel4.setLayout(new BorderLayout());\r
364 jPanel4.add(getJPanel5(), java.awt.BorderLayout.NORTH);\r
365 jPanel4.add(getJPanel6(), java.awt.BorderLayout.SOUTH);\r
366 jPanel4.add(getJPanel7(), java.awt.BorderLayout.CENTER);\r
367 }\r
368 return jPanel4;\r
369 }\r
370\r
371 /**\r
372 * This method initializes jPanel5 \r
373 * \r
374 * @return javax.swing.JPanel \r
375 */\r
376 private JPanel getJPanel5() {\r
377 if (jPanel5 == null) {\r
378 jLabel = new JLabel();\r
6a09eb19 379 jLabel.setText("Supported Archs");\r
a13899c5 380 FlowLayout flowLayout2 = new FlowLayout();\r
381 flowLayout2.setAlignment(FlowLayout.LEFT);\r
6a09eb19 382 flowLayout2.setHgap(12);\r
a13899c5 383 jPanel5 = new JPanel();\r
384 jPanel5.setLayout(flowLayout2);\r
385 jPanel5.add(jLabel, null);\r
386 jPanel5.add(getJCheckBox1(), null);\r
387 jPanel5.add(getJCheckBox2(), null);\r
388 jPanel5.add(getJCheckBox3(), null);\r
6a09eb19 389 jPanel5.add(getJCheckBox(), null);\r
390 jPanel5.add(getJCheckBox5(), null);\r
391 jPanel5.add(getJCheckBox6(), null);\r
a13899c5 392 }\r
393 return jPanel5;\r
394 }\r
395\r
396 /**\r
397 * This method initializes jCheckBox1 \r
398 * \r
399 * @return javax.swing.JCheckBox \r
400 */\r
401 private JCheckBox getJCheckBox1() {\r
402 if (jCheckBox1 == null) {\r
403 jCheckBox1 = new JCheckBox();\r
6a09eb19 404 jCheckBox1.setText("IA32");\r
405 jCheckBox1.addItemListener(new java.awt.event.ItemListener() {\r
406 public void itemStateChanged(java.awt.event.ItemEvent e) {\r
407 Vector<Object> v = new Vector<Object>();\r
408 getToolChain(v);\r
409 ffc.setPlatformDefsSupportedArchs(v);\r
410 }\r
411 });\r
a13899c5 412 }\r
413 return jCheckBox1;\r
414 }\r
415\r
416 /**\r
417 * This method initializes jCheckBox2 \r
418 * \r
419 * @return javax.swing.JCheckBox \r
420 */\r
421 private JCheckBox getJCheckBox2() {\r
422 if (jCheckBox2 == null) {\r
423 jCheckBox2 = new JCheckBox();\r
6a09eb19 424 jCheckBox2.setText("X64");\r
425 jCheckBox2.addItemListener(new java.awt.event.ItemListener() {\r
426 public void itemStateChanged(java.awt.event.ItemEvent e) {\r
427 Vector<Object> v = new Vector<Object>();\r
428 getToolChain(v);\r
429 ffc.setPlatformDefsSupportedArchs(v);\r
430 }\r
431 });\r
a13899c5 432 }\r
433 return jCheckBox2;\r
434 }\r
435\r
436 /**\r
437 * This method initializes jCheckBox3 \r
438 * \r
439 * @return javax.swing.JCheckBox \r
440 */\r
441 private JCheckBox getJCheckBox3() {\r
442 if (jCheckBox3 == null) {\r
443 jCheckBox3 = new JCheckBox();\r
6a09eb19 444 jCheckBox3.setText("IPF");\r
445 jCheckBox3.addItemListener(new java.awt.event.ItemListener() {\r
446 public void itemStateChanged(java.awt.event.ItemEvent e) {\r
447 Vector<Object> v = new Vector<Object>();\r
448 getToolChain(v);\r
449 ffc.setPlatformDefsSupportedArchs(v);\r
450 }\r
451 });\r
a13899c5 452 }\r
453 return jCheckBox3;\r
454 }\r
455 \r
456 /**\r
457 * This method initializes jTable \r
458 * \r
459 * @return javax.swing.JTable \r
460 */\r
461 private JTable getJTable() {\r
462 if (jTable == null) {\r
6a09eb19 463 imageEntryPointTableModel = new TargetTableModel();\r
a13899c5 464 imageEntryPointTableModel.addColumn("Build Target");\r
6a09eb19 465 jTable = new JTable(imageEntryPointTableModel);\r
466 jTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
a13899c5 467 \r
6a09eb19 468 jTable.getModel().addTableModelListener(new TableModelListener() {\r
469 public void tableChanged(TableModelEvent arg0) {\r
470 // TODO Auto-generated method stub\r
471 if (jTable.getSelectedRow() < 0) {\r
472 return;\r
473 }\r
474 TableModel m = (TableModel)arg0.getSource();\r
475 if (arg0.getType() == TableModelEvent.UPDATE){\r
476 //ToDo Data Validition check.\r
477 Vector<Object> v = new Vector<Object>();\r
478 for (int i = 0; i < jTable.getRowCount(); ++i) {\r
479 v.add(m.getValueAt(i, 0));\r
480 }\r
d6d24759 481 docConsole.setSaved(false);\r
6a09eb19 482 ffc.setPlatformDefsBuildTargets(v);\r
483 }\r
484 }\r
485 });\r
a13899c5 486 }\r
6a09eb19 487 return jTable;\r
a13899c5 488 }\r
489\r
a13899c5 490 /**\r
491 * This method initializes jPanel6 \r
492 * \r
493 * @return javax.swing.JPanel \r
494 */\r
495 private JPanel getJPanel6() {\r
496 if (jPanel6 == null) {\r
a13899c5 497 FlowLayout flowLayout3 = new FlowLayout();\r
498 flowLayout3.setAlignment(FlowLayout.LEFT);\r
499 flowLayout3.setHgap(20);\r
500 jPanel6 = new JPanel();\r
6a09eb19 501 jPanel6.setPreferredSize(new java.awt.Dimension(10,200));\r
a13899c5 502 jPanel6.setLayout(flowLayout3);\r
6a09eb19 503 jPanel6.add(getJPanel8(), null);\r
a13899c5 504 }\r
505 return jPanel6;\r
506 }\r
507\r
508 /**\r
509 * This method initializes jCheckBox4 \r
510 * \r
511 * @return javax.swing.JCheckBox \r
512 */\r
513 private JCheckBox getJCheckBox4() {\r
514 if (jCheckBox4 == null) {\r
515 jCheckBox4 = new JCheckBox();\r
516 jCheckBox4.setText("Intermediate Directories");\r
517 }\r
518 return jCheckBox4;\r
519 }\r
520\r
521 /**\r
522 * This method initializes jComboBox \r
523 * \r
524 * @return javax.swing.JComboBox \r
525 */\r
526 private JComboBox getJComboBox() {\r
527 if (jComboBox == null) {\r
528 jComboBox = new JComboBox();\r
529 jComboBox.setPreferredSize(new Dimension(100, 20));\r
a13899c5 530 jComboBox.addItem("UNIFIED");\r
908b1c05 531 jComboBox.addItem("MODULE");\r
532 \r
a13899c5 533 jComboBox.setSelectedIndex(0);\r
6a09eb19 534 jComboBox.addItemListener(new java.awt.event.ItemListener() {\r
535 public void itemStateChanged(java.awt.event.ItemEvent e) {\r
d6d24759 536 if (docConsole != null){\r
537 docConsole.setSaved(false);\r
538 }\r
6a09eb19 539 ffc.setPlatformDefsInterDir(jComboBox.getSelectedItem()+"");\r
540 }\r
541 });\r
a13899c5 542 }\r
543 return jComboBox;\r
544 }\r
545\r
a13899c5 546 /**\r
547 * This method initializes jPanel7 \r
548 * \r
549 * @return javax.swing.JPanel \r
550 */\r
551 private JPanel getJPanel7() {\r
552 if (jPanel7 == null) {\r
a13899c5 553 jLabel2 = new JLabel();\r
554 jLabel2.setPreferredSize(new Dimension(109, 16));\r
555 jLabel2.setText("Build Targets");\r
556 FlowLayout flowLayout4 = new FlowLayout();\r
557 flowLayout4.setAlignment(FlowLayout.LEFT);\r
558 flowLayout4.setHgap(20);\r
559 jPanel7 = new JPanel();\r
560 jPanel7.setPreferredSize(new Dimension(972, 100));\r
561 jPanel7.setLayout(flowLayout4);\r
562 jPanel7.add(jLabel2, null);\r
563 jPanel7.add(getJTextField1(), null);\r
564 jPanel7.add(getJButton2(), null);\r
565 jPanel7.add(getJButton3(), null);\r
566 jPanel7.add(getJScrollPane2(), null);\r
6a09eb19 567 jPanel7.add(getJPanel9(), null);\r
a13899c5 568 jPanel7.add(getJScrollPane3(), null);\r
a13899c5 569 }\r
570 return jPanel7;\r
571 }\r
572\r
573 /**\r
574 * This method initializes jTextField1 \r
575 * \r
576 * @return javax.swing.JTextField \r
577 */\r
578 private JTextField getJTextField1() {\r
579 if (jTextField1 == null) {\r
580 jTextField1 = new JTextField();\r
581 jTextField1.setPreferredSize(new Dimension(150, 20));\r
582 }\r
583 return jTextField1;\r
584 }\r
585\r
586 /**\r
587 * This method initializes jButton2 \r
588 * \r
589 * @return javax.swing.JButton \r
590 */\r
591 private JButton getJButton2() {\r
592 if (jButton2 == null) {\r
593 jButton2 = new JButton();\r
594 jButton2.setPreferredSize(new Dimension(70, 20));\r
595 jButton2.setText("Add");\r
6a09eb19 596 jButton2.addActionListener(new java.awt.event.ActionListener() {\r
597 public void actionPerformed(java.awt.event.ActionEvent e) {\r
598 if (jTextField1.getText().length() > 0) {\r
599 String[] row = {jTextField1.getText()};\r
600 imageEntryPointTableModel.addRow(row);\r
601 Vector<Object> v = new Vector<Object>();\r
602 for (int i = 0; i < jTable.getRowCount(); ++i) {\r
603 v.add(imageEntryPointTableModel.getValueAt(i, 0));\r
604 }\r
d6d24759 605 docConsole.setSaved(false);\r
6a09eb19 606 ffc.setPlatformDefsBuildTargets(v);\r
607 }\r
608 }\r
609 });\r
a13899c5 610 }\r
611 return jButton2;\r
612 }\r
613\r
614 /**\r
615 * This method initializes jButton3 \r
616 * \r
617 * @return javax.swing.JButton \r
618 */\r
619 private JButton getJButton3() {\r
620 if (jButton3 == null) {\r
621 jButton3 = new JButton();\r
622 jButton3.setPreferredSize(new Dimension(70, 20));\r
623 jButton3.setText("Delete");\r
6a09eb19 624 jButton3.setVisible(false);\r
a13899c5 625 }\r
626 return jButton3;\r
627 }\r
628\r
629 /**\r
630 * This method initializes jScrollPane2 \r
631 * \r
632 * @return javax.swing.JScrollPane \r
633 */\r
634 private JScrollPane getJScrollPane2() {\r
635 if (jScrollPane2 == null) {\r
636 jScrollPane2 = new JScrollPane();\r
637 jScrollPane2.setPreferredSize(new Dimension(453, 100));\r
638 jScrollPane2.setViewportView(getJTable());\r
639 }\r
640 return jScrollPane2;\r
641 }\r
642\r
643 /**\r
644 * This method initializes jScrollPane3 \r
645 * \r
646 * @return javax.swing.JScrollPane \r
647 */\r
648 private JScrollPane getJScrollPane3() {\r
649 if (jScrollPane3 == null) {\r
650 jScrollPane3 = new JScrollPane();\r
651 jScrollPane3.setPreferredSize(new java.awt.Dimension(453,100));\r
652 jScrollPane3.setViewportView(getJTable2());\r
653 }\r
654 return jScrollPane3;\r
655 }\r
656\r
657 /**\r
658 * This method initializes jTable2 \r
659 * \r
660 * @return javax.swing.JTable \r
661 */\r
662 private JTable getJTable2() {\r
663 if (jTable2 == null) {\r
6a09eb19 664 skuInfoTableModel = new SkuInfoTableModel();\r
a13899c5 665 skuInfoTableModel.addColumn("SKU ID");\r
666 skuInfoTableModel.addColumn("Name");\r
667 jTable2 = new JTable(skuInfoTableModel);\r
6a09eb19 668 \r
669 jTable2.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
670 \r
671 jTable2.getModel().addTableModelListener(new TableModelListener() {\r
672 public void tableChanged(TableModelEvent arg0) {\r
673 // TODO Auto-generated method stub\r
674 int row = arg0.getFirstRow();\r
675 TableModel m = (TableModel)arg0.getSource();\r
676 if (arg0.getType() == TableModelEvent.UPDATE){\r
677 //ToDo Data Validition check.\r
678 String id = m.getValueAt(row, 0)+"";\r
679 String name = m.getValueAt(row, 1)+"";\r
d6d24759 680 docConsole.setSaved(false);\r
6a09eb19 681 ffc.updatePlatformDefsSkuInfo(row, id, name);\r
682 }\r
683 }\r
684 });\r
a13899c5 685 }\r
686 return jTable2;\r
687 }\r
688\r
6a09eb19 689 /**\r
690 * This method initializes jCheckBox \r
691 * \r
692 * @return javax.swing.JCheckBox \r
693 */\r
694 private JCheckBox getJCheckBox() {\r
695 if (jCheckBox == null) {\r
696 jCheckBox = new JCheckBox();\r
697 jCheckBox.setPreferredSize(new java.awt.Dimension(50,20));\r
698 jCheckBox.setText("EBC");\r
699 jCheckBox.addItemListener(new java.awt.event.ItemListener() {\r
700 public void itemStateChanged(java.awt.event.ItemEvent e) {\r
701 Vector<Object> v = new Vector<Object>();\r
702 getToolChain(v);\r
703 ffc.setPlatformDefsSupportedArchs(v);\r
704 }\r
705 });\r
706 }\r
707 return jCheckBox;\r
708 }\r
709\r
710 /**\r
711 * This method initializes jCheckBox5 \r
712 * \r
713 * @return javax.swing.JCheckBox \r
714 */\r
715 private JCheckBox getJCheckBox5() {\r
716 if (jCheckBox5 == null) {\r
717 jCheckBox5 = new JCheckBox();\r
718 jCheckBox5.setPreferredSize(new java.awt.Dimension(52,20));\r
719 jCheckBox5.setText("ARM");\r
720 jCheckBox5.addItemListener(new java.awt.event.ItemListener() {\r
721 public void itemStateChanged(java.awt.event.ItemEvent e) {\r
722 Vector<Object> v = new Vector<Object>();\r
723 getToolChain(v);\r
724 ffc.setPlatformDefsSupportedArchs(v);\r
725 }\r
726 });\r
727 }\r
728 return jCheckBox5;\r
729 }\r
730\r
731 /**\r
732 * This method initializes jCheckBox6 \r
733 * \r
734 * @return javax.swing.JCheckBox \r
735 */\r
736 private JCheckBox getJCheckBox6() {\r
737 if (jCheckBox6 == null) {\r
738 jCheckBox6 = new JCheckBox();\r
739 jCheckBox6.setPreferredSize(new Dimension(50, 20));\r
740 jCheckBox6.setText("PPC");\r
741 jCheckBox6.addItemListener(new java.awt.event.ItemListener() {\r
742 public void itemStateChanged(java.awt.event.ItemEvent e) {\r
743 Vector<Object> v = new Vector<Object>();\r
744 getToolChain(v);\r
745 ffc.setPlatformDefsSupportedArchs(v);\r
746 }\r
747 });\r
748 }\r
749 return jCheckBox6;\r
750 }\r
751\r
752 /**\r
753 * This method initializes jPanel8 \r
754 * \r
755 * @return javax.swing.JPanel \r
756 */\r
757 private JPanel getJPanel8() {\r
758 if (jPanel8 == null) {\r
759 FlowLayout flowLayout1 = new FlowLayout();\r
760 flowLayout1.setAlignment(java.awt.FlowLayout.LEFT);\r
761 jLabel1 = new JLabel();\r
762 jLabel1.setText("Output Directory");\r
763 jLabel7 = new JLabel();\r
764 jLabel7.setPreferredSize(new java.awt.Dimension(150,20));\r
765 jLabel7.setText("");\r
766 jPanel8 = new JPanel();\r
767 jPanel8.setLayout(flowLayout1);\r
768 jPanel8.setPreferredSize(new java.awt.Dimension(450,100));\r
769 jPanel8.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));\r
770 jPanel8.add(getJCheckBox4(), null);\r
771 jPanel8.add(getJComboBox(), null);\r
772 jPanel8.add(jLabel7, null);\r
773 jPanel8.add(jLabel1, null);\r
774 jPanel8.add(getJTextField(), null);\r
775 }\r
776 return jPanel8;\r
777 }\r
778\r
779 /**\r
780 * This method initializes jTextField \r
781 * \r
782 * @return javax.swing.JTextField \r
783 */\r
784 private JTextField getJTextField() {\r
785 if (jTextField == null) {\r
786 jTextField = new JTextField();\r
787 jTextField.setPreferredSize(new java.awt.Dimension(300,20));\r
788 jTextField.addFocusListener(new java.awt.event.FocusAdapter() {\r
789 public void focusLost(java.awt.event.FocusEvent e) {\r
d6d24759 790 docConsole.setSaved(false);\r
6a09eb19 791 ffc.setPlatformDefsOutputDir(jTextField.getText());\r
792 }\r
793 });\r
794 }\r
795 return jTextField;\r
796 }\r
797\r
798 /**\r
799 * This method initializes jPanel9 \r
800 * \r
801 * @return javax.swing.JPanel \r
802 */\r
803 private JPanel getJPanel9() {\r
804 if (jPanel9 == null) {\r
805 jLabel6 = new JLabel();\r
806 jLabel6.setPreferredSize(new Dimension(280, 20));\r
807 jLabel6.setText(" ");\r
808 jLabel5 = new JLabel();\r
809 jLabel5.setPreferredSize(new Dimension(40, 20));\r
810 jLabel5.setText("Name");\r
811 jLabel4 = new JLabel();\r
812 jLabel4.setPreferredSize(new Dimension(20, 20));\r
813 jLabel4.setText("ID");\r
814 jLabel3 = new JLabel();\r
815 jLabel3.setPreferredSize(new java.awt.Dimension(150,20));\r
816 jLabel3.setText("SKU Information");\r
817 jPanel9 = new JPanel();\r
818 jPanel9.setPreferredSize(new java.awt.Dimension(450,70));\r
819 jPanel9.add(jLabel3, null);\r
820 jPanel9.add(jLabel6, null);\r
821 jPanel9.add(jLabel4, null);\r
822 jPanel9.add(getJTextField2(), null);\r
823 jPanel9.add(jLabel5, null);\r
824 jPanel9.add(getJTextField3(), null);\r
825 jPanel9.add(getJButton(), null);\r
826 jPanel9.add(getJButton1(), null);\r
827 }\r
828 return jPanel9;\r
829 }\r
830\r
a13899c5 831 /**\r
832 * This method initializes jTextField2 \r
833 * \r
834 * @return javax.swing.JTextField \r
835 */\r
836 private JTextField getJTextField2() {\r
837 if (jTextField2 == null) {\r
838 jTextField2 = new JTextField();\r
6a09eb19 839 jTextField2.setPreferredSize(new Dimension(50, 20));\r
a13899c5 840 }\r
841 return jTextField2;\r
842 }\r
843\r
844 /**\r
845 * This method initializes jTextField3 \r
846 * \r
847 * @return javax.swing.JTextField \r
848 */\r
849 private JTextField getJTextField3() {\r
850 if (jTextField3 == null) {\r
851 jTextField3 = new JTextField();\r
852 jTextField3.setPreferredSize(new Dimension(150, 20));\r
853 }\r
854 return jTextField3;\r
855 }\r
856\r
857 /**\r
6a09eb19 858 * This method initializes jButton \r
a13899c5 859 * \r
860 * @return javax.swing.JButton \r
861 */\r
6a09eb19 862 private JButton getJButton() {\r
863 if (jButton == null) {\r
864 jButton = new JButton();\r
865 jButton.setPreferredSize(new Dimension(70, 20));\r
866 jButton.setText("Add");\r
867 jButton.addActionListener(new java.awt.event.ActionListener() {\r
868 public void actionPerformed(java.awt.event.ActionEvent e) {\r
869 if (jTextField2.getText().length() > 0) {\r
870 String[] row = {jTextField2.getText(), jTextField3.getText()};\r
871 skuInfoTableModel.addRow(row);\r
d6d24759 872 docConsole.setSaved(false);\r
6a09eb19 873 ffc.genPlatformDefsSkuInfo(row[0], row[1]);\r
874 }\r
875 }\r
876 });\r
a13899c5 877 }\r
6a09eb19 878 return jButton;\r
a13899c5 879 }\r
880\r
881 /**\r
6a09eb19 882 * This method initializes jButton1 \r
a13899c5 883 * \r
884 * @return javax.swing.JButton \r
885 */\r
6a09eb19 886 private JButton getJButton1() {\r
887 if (jButton1 == null) {\r
888 jButton1 = new JButton();\r
889 jButton1.setPreferredSize(new Dimension(70, 20));\r
890 jButton1.setText("Delete");\r
891 jButton1.addActionListener(new java.awt.event.ActionListener() {\r
892 public void actionPerformed(java.awt.event.ActionEvent e) {\r
893 if (jTable2.isEditing()) {\r
894 jTable2.getCellEditor().stopCellEditing();\r
895 }\r
896 if (jTable2.getSelectedRow() < 1) {\r
897 return;\r
898 }\r
d6d24759 899 docConsole.setSaved(false);\r
6a09eb19 900 ffc.removePlatformDefsSkuInfo(jTable2.getSelectedRow());\r
901 skuInfoTableModel.removeRow(jTable2.getSelectedRow());\r
902 }\r
903 });\r
a13899c5 904 }\r
6a09eb19 905 return jButton1;\r
a13899c5 906 }\r
907\r
908\r
909} // @jve:decl-index=0:visual-constraint="10,10"\r
910\r
6a09eb19 911class SkuInfoTableModel extends DefaultTableModel{\r
912 /**\r
913 * \r
914 */\r
915 private static final long serialVersionUID = 1L;\r
916\r
917 public boolean isCellEditable(int row, int column) {\r
918 if (row == 0) {\r
919 return false;\r
920 }\r
921 return true;\r
922 }\r
923}\r
924\r
925class TargetTableModel extends DefaultTableModel{\r
926 private static final long serialVersionUID = 1L;\r
927\r
928 public boolean isCellEditable(int row, int column) {\r
929 if (row < 2) {\r
930 return false;\r
931 }\r
932 return true;\r
933 }\r
934}\r
935\r
a13899c5 936\r