]> git.proxmox.com Git - mirror_edk2.git/blame_incremental - 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
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
18import javax.swing.JFrame;\r
19import javax.swing.JTabbedPane;\r
20import javax.swing.JButton;\r
21import javax.swing.ListSelectionModel;\r
22\r
23import org.tianocore.PlatformSurfaceAreaDocument;\r
24import org.tianocore.frameworkwizard.common.Identifications.OpeningPlatformType;\r
25import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
26\r
27\r
28import java.awt.FlowLayout;\r
29\r
30\r
31import javax.swing.JCheckBox;\r
32import javax.swing.JTextField;\r
33import javax.swing.JLabel;\r
34import javax.swing.JScrollPane;\r
35import javax.swing.JTable;\r
36import javax.swing.event.InternalFrameAdapter;\r
37import javax.swing.event.InternalFrameEvent;\r
38import javax.swing.event.TableModelEvent;\r
39import javax.swing.event.TableModelListener;\r
40import javax.swing.table.DefaultTableModel;\r
41import javax.swing.table.TableModel;\r
42import javax.swing.JComboBox;\r
43import java.awt.Dimension;\r
44import java.util.Vector;\r
45\r
46public class FpdPlatformDefs extends IInternalFrame {\r
47\r
48 /**\r
49 * \r
50 */\r
51 private static final long serialVersionUID = 1L;\r
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
61 private TargetTableModel imageEntryPointTableModel = null;\r
62 \r
63 private SkuInfoTableModel skuInfoTableModel = null;\r
64 private OpeningPlatformType docConsole = null;\r
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
73 private JCheckBox jCheckBox4 = null;\r
74 private JComboBox jComboBox = null;\r
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
82 private JScrollPane jScrollPane3 = null;\r
83 private JTable jTable2 = null;\r
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
93 private JLabel jLabel4 = null;\r
94 private JTextField jTextField2 = null;\r
95 private JLabel jLabel5 = null;\r
96 private JTextField jTextField3 = null;\r
97 private JButton jButton = null;\r
98 private JButton jButton1 = null;\r
99 private JLabel jLabel6 = null;\r
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
115 public FpdPlatformDefs(OpeningPlatformType opt) {\r
116 this(opt.getXmlFpd());\r
117 docConsole = opt;\r
118 }\r
119 \r
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
220 /**\r
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
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
241 }\r
242\r
243 private void init(FpdFileContents ffc) {\r
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
255 \r
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
271 }\r
272 \r
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
311 \r
312 private void getToolChain(Vector<Object> v) {\r
313 if (docConsole != null){\r
314 docConsole.setSaved(false);\r
315 }\r
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
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
379 jLabel.setText("Supported Archs");\r
380 FlowLayout flowLayout2 = new FlowLayout();\r
381 flowLayout2.setAlignment(FlowLayout.LEFT);\r
382 flowLayout2.setHgap(12);\r
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
389 jPanel5.add(getJCheckBox(), null);\r
390 jPanel5.add(getJCheckBox5(), null);\r
391 jPanel5.add(getJCheckBox6(), null);\r
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
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
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
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
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
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
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
463 imageEntryPointTableModel = new TargetTableModel();\r
464 imageEntryPointTableModel.addColumn("Build Target");\r
465 jTable = new JTable(imageEntryPointTableModel);\r
466 jTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
467 \r
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
481 docConsole.setSaved(false);\r
482 ffc.setPlatformDefsBuildTargets(v);\r
483 }\r
484 }\r
485 });\r
486 }\r
487 return jTable;\r
488 }\r
489\r
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
497 FlowLayout flowLayout3 = new FlowLayout();\r
498 flowLayout3.setAlignment(FlowLayout.LEFT);\r
499 flowLayout3.setHgap(20);\r
500 jPanel6 = new JPanel();\r
501 jPanel6.setPreferredSize(new java.awt.Dimension(10,200));\r
502 jPanel6.setLayout(flowLayout3);\r
503 jPanel6.add(getJPanel8(), null);\r
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
530 jComboBox.addItem("UNIFIED");\r
531 jComboBox.addItem("MODULE");\r
532 \r
533 jComboBox.setSelectedIndex(0);\r
534 jComboBox.addItemListener(new java.awt.event.ItemListener() {\r
535 public void itemStateChanged(java.awt.event.ItemEvent e) {\r
536 if (docConsole != null){\r
537 docConsole.setSaved(false);\r
538 }\r
539 ffc.setPlatformDefsInterDir(jComboBox.getSelectedItem()+"");\r
540 }\r
541 });\r
542 }\r
543 return jComboBox;\r
544 }\r
545\r
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
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
567 jPanel7.add(getJPanel9(), null);\r
568 jPanel7.add(getJScrollPane3(), null);\r
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
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
605 docConsole.setSaved(false);\r
606 ffc.setPlatformDefsBuildTargets(v);\r
607 }\r
608 }\r
609 });\r
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
624 jButton3.setVisible(false);\r
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
664 skuInfoTableModel = new SkuInfoTableModel();\r
665 skuInfoTableModel.addColumn("SKU ID");\r
666 skuInfoTableModel.addColumn("Name");\r
667 jTable2 = new JTable(skuInfoTableModel);\r
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
680 docConsole.setSaved(false);\r
681 ffc.updatePlatformDefsSkuInfo(row, id, name);\r
682 }\r
683 }\r
684 });\r
685 }\r
686 return jTable2;\r
687 }\r
688\r
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
790 docConsole.setSaved(false);\r
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
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
839 jTextField2.setPreferredSize(new Dimension(50, 20));\r
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
858 * This method initializes jButton \r
859 * \r
860 * @return javax.swing.JButton \r
861 */\r
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
872 docConsole.setSaved(false);\r
873 ffc.genPlatformDefsSkuInfo(row[0], row[1]);\r
874 }\r
875 }\r
876 });\r
877 }\r
878 return jButton;\r
879 }\r
880\r
881 /**\r
882 * This method initializes jButton1 \r
883 * \r
884 * @return javax.swing.JButton \r
885 */\r
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
899 docConsole.setSaved(false);\r
900 ffc.removePlatformDefsSkuInfo(jTable2.getSelectedRow());\r
901 skuInfoTableModel.removeRow(jTable2.getSelectedRow());\r
902 }\r
903 });\r
904 }\r
905 return jButton1;\r
906 }\r
907\r
908\r
909} // @jve:decl-index=0:visual-constraint="10,10"\r
910\r
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
936\r