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