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