]> git.proxmox.com Git - mirror_edk2.git/blob - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdBuildOptions.java
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@714 6f19259b...
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / platform / ui / FpdBuildOptions.java
1 /** @file
2
3 The file is used to create, update BuildOptions of Fpd file
4
5 Copyright (c) 2006, Intel Corporation
6 All rights reserved. This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
10
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13
14 **/
15 package org.tianocore.frameworkwizard.platform.ui;
16
17 import java.awt.BorderLayout;
18 import java.awt.Dimension;
19
20 import javax.swing.JPanel;
21 import javax.swing.JDialog;
22 import javax.swing.JTabbedPane;
23 import javax.swing.JCheckBox;
24 import javax.swing.JLabel;
25 import java.awt.FlowLayout;
26 import javax.swing.AbstractAction;
27 import java.awt.event.ActionEvent;
28 import java.awt.event.ActionListener;
29 import java.awt.event.ItemEvent;
30 import java.awt.event.ItemListener;
31
32 import javax.swing.ButtonGroup;
33 import javax.swing.DefaultCellEditor;
34 import javax.swing.DefaultListModel;
35 import javax.swing.JTextField;
36 import javax.swing.JButton;
37 import javax.swing.JScrollPane;
38 import javax.swing.JTable;
39 import javax.swing.JComboBox;
40 import javax.swing.JRadioButton;
41 import javax.swing.ListSelectionModel;
42 import javax.swing.event.InternalFrameAdapter;
43 import javax.swing.event.InternalFrameEvent;
44 import javax.swing.event.ListSelectionEvent;
45 import javax.swing.event.ListSelectionListener;
46 import javax.swing.event.TableModelEvent;
47 import javax.swing.event.TableModelListener;
48 import javax.swing.table.DefaultTableModel;
49 import javax.swing.table.TableColumn;
50 import javax.swing.table.TableModel;
51
52 import org.tianocore.PlatformSurfaceAreaDocument;
53 import org.tianocore.frameworkwizard.common.ui.IInternalFrame;
54 import java.awt.CardLayout;
55 import java.util.ArrayList;
56 import java.util.Iterator;
57 import java.util.LinkedHashMap;
58 import java.util.Set;
59
60 public class FpdBuildOptions extends IInternalFrame {
61
62 private static final long serialVersionUID = 1L;
63 private JPanel jContentPane = null;
64 private JPanel jPanel = null;
65 private JPanel jPanel1 = null;
66 private JPanel jPanel2 = null;
67 private JPanel jPanel3 = null;
68 private JTabbedPane jTabbedPane = null;
69 private JPanel jPanel8 = null;
70 private JPanel jPanel9 = null;
71 private JPanel jPanel10 = null;
72 private JPanel jPanel11 = null;
73 private JTextField jTextField2 = null;
74 private JLabel jLabel3 = null;
75 private JTextField jTextField3 = null;
76 private JButton jButton4 = null;
77 private JButton jButton5 = null;
78 private JTextField jTextField4 = null;
79 private JScrollPane jScrollPane2 = null;
80 private JTable jTable2 = null;
81 private DefaultTableModel ffsTableModel = null;
82 private DefaultTableModel sectionsTableModel = null;
83 private DefaultTableModel sectionTableModel = null;
84 private DefaultTableModel subsectionsTableModel = null;
85 private DefaultTableModel antTaskTableModel = null;
86 private DefaultTableModel ffsAttributesTableModel = null;
87 private DefaultTableModel optionsTableModel = null;
88 private JPanel jPanel13 = null;
89 private JPanel jPanel18 = null;
90 private JPanel jPanel15 = null;
91 private JPanel jPanel16 = null;
92 private JPanel jPanel17 = null;
93 private JLabel jLabel7 = null;
94 private JTextField jTextField6 = null;
95 private JButton jButton8 = null;
96 private JButton jButton9 = null;
97 private JScrollPane jScrollPane5 = null;
98 private JTable jTable4 = null;
99 private JPanel jPanel19 = null;
100 private JPanel jPanel20 = null;
101 private JLabel jLabel9 = null;
102 private JTextField jTextField7 = null;
103 private JLabel jLabel10 = null;
104 private JComboBox jComboBox2 = null;
105 private JLabel jLabel11 = null;
106 private JLabel jLabel12 = null;
107 private JTextField jTextField8 = null;
108 private JScrollPane jScrollPane6 = null;
109 private JTable jTable5 = null;
110 private JButton jButton10 = null;
111 private JButton jButton11 = null;
112 private DefaultListModel listModel = new DefaultListModel();
113 private JButton jButton17 = null;
114 private JButton jButton18 = null;
115 private FpdFileContents ffc = null;
116 private JButton jButton19 = null;
117 private JCheckBox jCheckBox9 = null;
118 private JCheckBox jCheckBox10 = null;
119 private JCheckBox jCheckBox11 = null;
120 private JCheckBox jCheckBox12 = null;
121 private JCheckBox jCheckBox13 = null;
122 private JCheckBox jCheckBox14 = null;
123 private JLabel jLabel14 = null;
124 private JTextField jTextField12 = null;
125 private JTextField jTextField13 = null;
126 private JLabel jLabel15 = null;
127 private int selectedRow = -1;
128 private JLabel jLabel = null;
129 private JLabel jLabel1 = null;
130 private JScrollPane jScrollPane = null;
131 private JTable jTable = null;
132 private JLabel jLabel2 = null;
133 private JScrollPane jScrollPane1 = null;
134 private JTable jTable1 = null;
135 private JLabel jLabel4 = null;
136 private JScrollPane jScrollPane3 = null;
137 private JTable jTable3 = null;
138 private JLabel jLabel5 = null;
139 private JTextField jTextField = null;
140 private JPanel jPanel4 = null;
141 private JLabel jLabel6 = null;
142 private JButton jButton = null;
143 private JButton jButton1 = null;
144 private JButton jButton2 = null;
145 private JButton jButton3 = null;
146 private JLabel jLabel8 = null;
147 private JButton jButton6 = null;
148 private JButton jButton7 = null;
149 private JScrollPane jScrollPane4 = null;
150 private JTable jTable6 = null;
151 /**
152 * This method initializes jPanel
153 *
154 * @return javax.swing.JPanel
155 */
156 private JPanel getJPanel() {
157 if (jPanel == null) {
158 jPanel = new JPanel();
159 }
160 return jPanel;
161 }
162
163 /**
164 * This method initializes jPanel1
165 *
166 * @return javax.swing.JPanel
167 */
168 private JPanel getJPanel1() {
169 if (jPanel1 == null) {
170 jPanel1 = new JPanel();
171 }
172 return jPanel1;
173 }
174
175 /**
176 * This method initializes jPanel2
177 *
178 * @return javax.swing.JPanel
179 */
180 private JPanel getJPanel2() {
181 if (jPanel2 == null) {
182 jPanel2 = new JPanel();
183 }
184 return jPanel2;
185 }
186
187 /**
188 * This method initializes jPanel3
189 *
190 * @return javax.swing.JPanel
191 */
192 private JPanel getJPanel3() {
193 if (jPanel3 == null) {
194 jPanel3 = new JPanel();
195 }
196 return jPanel3;
197 }
198
199 /**
200 * This method initializes jTabbedPane
201 *
202 * @return javax.swing.JTabbedPane
203 */
204 private JTabbedPane getJTabbedPane() {
205 if (jTabbedPane == null) {
206 jTabbedPane = new JTabbedPane();
207 jTabbedPane.addTab("FFS", null, getJPanel13(), null);
208 jTabbedPane.addTab("Options", null, getJPanel20(), null);
209 jTabbedPane.addTab("User Defined ANT Tasks", null, getJPanel8(), null);
210 }
211 return jTabbedPane;
212 }
213
214
215 /**
216 * This method initializes jPanel8
217 *
218 * @return javax.swing.JPanel
219 */
220 private JPanel getJPanel8() {
221 if (jPanel8 == null) {
222 jPanel8 = new JPanel();
223 jPanel8.setLayout(new BorderLayout());
224 jPanel8.add(getJPanel9(), java.awt.BorderLayout.NORTH);
225 jPanel8.add(getJPanel10(), java.awt.BorderLayout.SOUTH);
226 jPanel8.add(getJPanel11(), java.awt.BorderLayout.CENTER);
227
228 }
229 return jPanel8;
230 }
231
232 /**
233 * This method initializes jPanel9
234 *
235 * @return javax.swing.JPanel
236 */
237 private JPanel getJPanel9() {
238 if (jPanel9 == null) {
239 jLabel = new JLabel();
240 jLabel.setText("ANT Task File");
241 jLabel.setPreferredSize(new java.awt.Dimension(80,20));
242 FlowLayout flowLayout8 = new FlowLayout();
243 flowLayout8.setAlignment(java.awt.FlowLayout.LEFT);
244 jLabel3 = new JLabel();
245 jLabel3.setText("ID");
246 jPanel9 = new JPanel();
247 jPanel9.setLayout(flowLayout8);
248 jPanel9.add(jLabel, null);
249 jPanel9.add(getJTextField2(), null);
250 jPanel9.add(jLabel3, null);
251 jPanel9.add(getJTextField3(), null);
252 }
253 return jPanel9;
254 }
255
256 /**
257 * This method initializes jPanel10
258 *
259 * @return javax.swing.JPanel
260 */
261 private JPanel getJPanel10() {
262 if (jPanel10 == null) {
263 jPanel10 = new JPanel();
264 }
265 return jPanel10;
266 }
267
268 /**
269 * This method initializes jPanel11
270 *
271 * @return javax.swing.JPanel
272 */
273 private JPanel getJPanel11() {
274 if (jPanel11 == null) {
275 jLabel1 = new JLabel();
276 jLabel1.setText("ANT Command Options");
277 jLabel1.setPreferredSize(new java.awt.Dimension(131,20));
278 FlowLayout flowLayout3 = new FlowLayout();
279 flowLayout3.setHgap(5);
280 flowLayout3.setAlignment(java.awt.FlowLayout.LEFT);
281 jPanel11 = new JPanel();
282 jPanel11.setLayout(flowLayout3);
283 jPanel11.add(jLabel1, null);
284 jPanel11.add(getJTextField4(), null);
285 jPanel11.add(getJButton4(), null);
286 jPanel11.add(getJButton5(), null);
287 jPanel11.add(getJScrollPane2(), null);
288 }
289 return jPanel11;
290 }
291
292 /**
293 * This method initializes jTextField2
294 *
295 * @return javax.swing.JTextField
296 */
297 private JTextField getJTextField2() {
298 if (jTextField2 == null) {
299 jTextField2 = new JTextField();
300 jTextField2.setPreferredSize(new java.awt.Dimension(200,20));
301 }
302 return jTextField2;
303 }
304
305 /**
306 * This method initializes jTextField3
307 *
308 * @return javax.swing.JTextField
309 */
310 private JTextField getJTextField3() {
311 if (jTextField3 == null) {
312 jTextField3 = new JTextField();
313 jTextField3.setPreferredSize(new java.awt.Dimension(100,20));
314 }
315 return jTextField3;
316 }
317
318 /**
319 * This method initializes jButton4
320 *
321 * @return javax.swing.JButton
322 */
323 private JButton getJButton4() {
324 if (jButton4 == null) {
325 jButton4 = new JButton();
326 jButton4.setPreferredSize(new java.awt.Dimension(90,20));
327 jButton4.setText("Add");
328 jButton4.addActionListener(new ActionListener() {
329 public void actionPerformed(ActionEvent e) {
330 Object[] o = {jTextField3.getText(), null, null};
331 o[1] = jTextField2.getText();
332 o[2] = jTextField4.getText();
333 ffc.genBuildOptionsUserDefAntTask(o[0]+"", null, o[2]+"");
334 antTaskTableModel.addRow(o);
335
336 }
337 });
338 }
339 return jButton4;
340 }
341
342 /**
343 * This method initializes jButton5
344 *
345 * @return javax.swing.JButton
346 */
347 private JButton getJButton5() {
348 if (jButton5 == null) {
349 jButton5 = new JButton();
350 jButton5.setPreferredSize(new java.awt.Dimension(90,20));
351 jButton5.setText("Delete");
352 jButton5.addActionListener(new ActionListener() {
353 public void actionPerformed(ActionEvent e) {
354 if (selectedRow >= 0) {
355 antTaskTableModel.removeRow(selectedRow);
356 ffc.removeBuildOptionsUserDefAntTask(selectedRow);
357 }
358 }
359 });
360 }
361 return jButton5;
362 }
363
364 /**
365 * This method initializes jTextField4
366 *
367 * @return javax.swing.JTextField
368 */
369 private JTextField getJTextField4() {
370 if (jTextField4 == null) {
371 jTextField4 = new JTextField();
372 jTextField4.setPreferredSize(new java.awt.Dimension(270,20));
373 jTextField4.setEnabled(true);
374 }
375 return jTextField4;
376 }
377
378 /**
379 * This method initializes jScrollPane2
380 *
381 * @return javax.swing.JScrollPane
382 */
383 private JScrollPane getJScrollPane2() {
384 if (jScrollPane2 == null) {
385 jScrollPane2 = new JScrollPane();
386 jScrollPane2.setPreferredSize(new java.awt.Dimension(600,100));
387 jScrollPane2.setViewportView(getJTable2());
388 }
389 return jScrollPane2;
390 }
391
392 /**
393 * This method initializes jTable2
394 *
395 * @return javax.swing.JTable
396 */
397 private JTable getJTable2() {
398 if (jTable2 == null) {
399 antTaskTableModel = new DefaultTableModel();
400 jTable2 = new JTable(antTaskTableModel);
401 antTaskTableModel.addColumn("ID");
402 antTaskTableModel.addColumn("Filename");
403 antTaskTableModel.addColumn("ANT Command Options");
404
405 jTable2.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
406 jTable2.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
407 public void valueChanged(ListSelectionEvent e) {
408 selectedRow = -1;
409 if (e.getValueIsAdjusting()){
410 return;
411 }
412 ListSelectionModel lsm = (ListSelectionModel)e.getSource();
413 if (lsm.isSelectionEmpty()) {
414 return;
415 }
416 else{
417 selectedRow = lsm.getMinSelectionIndex();
418 }
419 }
420 });
421
422 jTable2.getModel().addTableModelListener(new TableModelListener() {
423 public void tableChanged(TableModelEvent arg0) {
424 // TODO Auto-generated method stub
425 int row = arg0.getFirstRow();
426 TableModel m = (TableModel)arg0.getSource();
427 if (arg0.getType() == TableModelEvent.UPDATE){
428 //ToDo Data Validition check.
429 String id = m.getValueAt(row, 0) + "";
430 String file = m.getValueAt(row, 1) + "";
431 String execOrder = m.getValueAt(row, 2) + "";
432 if (id.length() == 0) {
433 return;
434 }
435 if (file.length() == 0 && execOrder.length() == 0){
436 return;
437 }
438 if (file.length() == 0) {
439 file = null;
440 }
441 if (execOrder.length() == 0) {
442 execOrder = null;
443 }
444 ffc.updateBuildOptionsUserDefAntTask(row, id, file, execOrder);
445
446 }
447 }
448 });
449 }
450 return jTable2;
451 }
452
453 /**
454 * This method initializes jPanel13
455 *
456 * @return javax.swing.JPanel
457 */
458 private JPanel getJPanel13() {
459 if (jPanel13 == null) {
460 jPanel13 = new JPanel();
461 jPanel13.setLayout(new BorderLayout());
462 jPanel13.add(getJPanel18(), java.awt.BorderLayout.CENTER);
463 jPanel13.add(getJScrollPane(), java.awt.BorderLayout.WEST);
464 }
465 return jPanel13;
466 }
467
468 /**
469 * This method initializes jPanel18
470 *
471 * @return javax.swing.JPanel
472 */
473 private JPanel getJPanel18() {
474 if (jPanel18 == null) {
475 jPanel18 = new JPanel();
476 jPanel18.setLayout(new BorderLayout());
477 jPanel18.add(getJPanel15(), java.awt.BorderLayout.NORTH);
478 jPanel18.add(getJPanel16(), java.awt.BorderLayout.SOUTH);
479 jPanel18.add(getJPanel17(), java.awt.BorderLayout.EAST);
480 jPanel18.add(getJPanel19(), java.awt.BorderLayout.CENTER);
481 }
482 return jPanel18;
483 }
484
485 /**
486 * This method initializes jPanel15
487 *
488 * @return javax.swing.JPanel
489 */
490 private JPanel getJPanel15() {
491 if (jPanel15 == null) {
492 jLabel5 = new JLabel();
493 jLabel5.setText("Encapsulation Type");
494 FlowLayout flowLayout5 = new FlowLayout();
495 flowLayout5.setAlignment(java.awt.FlowLayout.RIGHT);
496 jLabel7 = new JLabel();
497 jLabel7.setText("FFS Key");
498 jPanel15 = new JPanel();
499 jPanel15.setLayout(flowLayout5);
500 jPanel15.add(jLabel7, null);
501 jPanel15.add(getJTextField6(), null);
502 jPanel15.add(jLabel5, null);
503 jPanel15.add(getJTextField(), null);
504 jPanel15.add(getJButton8(), null);
505 jPanel15.add(getJButton9(), null);
506 }
507 return jPanel15;
508 }
509
510 /**
511 * This method initializes jPanel16
512 *
513 * @return javax.swing.JPanel
514 */
515 private JPanel getJPanel16() {
516 if (jPanel16 == null) {
517 jLabel6 = new JLabel();
518 jLabel6.setText("Attributes");
519 FlowLayout flowLayout6 = new FlowLayout();
520 flowLayout6.setHgap(5);
521 flowLayout6.setVgap(20);
522 flowLayout6.setAlignment(java.awt.FlowLayout.CENTER);
523 jPanel16 = new JPanel();
524 jPanel16.setPreferredSize(new java.awt.Dimension(491,130));
525 jPanel16.setLayout(flowLayout6);
526 jPanel16.add(jLabel6, null);
527 jPanel16.add(getJScrollPane5(), null);
528 jPanel16.add(getJPanel4(), null);
529 }
530 return jPanel16;
531 }
532
533 /**
534 * This method initializes jPanel17
535 *
536 * @return javax.swing.JPanel
537 */
538 private JPanel getJPanel17() {
539 if (jPanel17 == null) {
540 jPanel17 = new JPanel();
541 }
542 return jPanel17;
543 }
544
545 /**
546 * This method initializes jTextField6
547 *
548 * @return javax.swing.JTextField
549 */
550 private JTextField getJTextField6() {
551 if (jTextField6 == null) {
552 jTextField6 = new JTextField();
553 jTextField6.setPreferredSize(new java.awt.Dimension(100,20));
554 }
555 return jTextField6;
556 }
557
558 /**
559 * This method initializes jButton8
560 *
561 * @return javax.swing.JButton
562 */
563 private JButton getJButton8() {
564 if (jButton8 == null) {
565 jButton8 = new JButton();
566 jButton8.setPreferredSize(new java.awt.Dimension(70,20));
567 jButton8.setText("Add");
568 jButton8.addActionListener(new AbstractAction() {
569 /**
570 *
571 */
572 private static final long serialVersionUID = -2923720717273384221L;
573
574 public void actionPerformed(java.awt.event.ActionEvent e) {
575 if (jTextField6.getText().length() > 0) {
576 String[] row = {jTextField6.getText()};
577 ffsTableModel.addRow(row);
578 ffc.genBuildOptionsFfs(jTextField6.getText(), jTextField.getText());
579 }
580 }
581 });
582 }
583 return jButton8;
584 }
585
586 /**
587 * This method initializes jButton9
588 *
589 * @return javax.swing.JButton
590 */
591 private JButton getJButton9() {
592 if (jButton9 == null) {
593 jButton9 = new JButton();
594 jButton9.setPreferredSize(new java.awt.Dimension(70,20));
595 jButton9.setText("Delete");
596 jButton9.addActionListener(new AbstractAction() {
597 /**
598 *
599 */
600 private static final long serialVersionUID = -4002678939178194476L;
601
602 public void actionPerformed(ActionEvent arg0){
603 if (jTable.getSelectedRow() < 0) {
604 return;
605 }
606 ffc.removeBuildOptionsFfs(jTable.getSelectedRow());
607 }
608 });
609 }
610 return jButton9;
611 }
612
613 /**
614 * This method initializes jScrollPane5
615 *
616 * @return javax.swing.JScrollPane
617 */
618 private JScrollPane getJScrollPane5() {
619 if (jScrollPane5 == null) {
620 jScrollPane5 = new JScrollPane();
621 jScrollPane5.setPreferredSize(new java.awt.Dimension(350,100));
622 jScrollPane5.setViewportView(getJTable4());
623 }
624 return jScrollPane5;
625 }
626
627 /**
628 * This method initializes jTable4
629 *
630 * @return javax.swing.JTable
631 */
632 private JTable getJTable4() {
633 if (jTable4 == null) {
634 ffsAttributesTableModel = new DefaultTableModel();
635 jTable4 = new JTable(ffsAttributesTableModel);
636 jTable4.setPreferredSize(new java.awt.Dimension(400,80));
637 ffsAttributesTableModel.addColumn("Name");
638 ffsAttributesTableModel.addColumn("Value");
639
640 jTable4.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
641 jTable4.getModel().addTableModelListener(new TableModelListener() {
642 public void tableChanged(TableModelEvent arg0) {
643 // TODO Auto-generated method stub
644 int row = arg0.getFirstRow();
645 TableModel m = (TableModel)arg0.getSource();
646 if (arg0.getType() == TableModelEvent.UPDATE){
647 //ToDo Data Validition check.
648 String name = m.getValueAt(row, 0) + "";
649 String value = m.getValueAt(row, 1) + "";
650
651 if (name.length() == 0) {
652 return;
653 }
654 if (value.length() == 0){
655 return;
656 }
657 ffc.updateBuildOptionsFfsAttribute(jTable.getSelectedRow(), row, name, value);
658 }
659 }
660 });
661 }
662 return jTable4;
663 }
664
665 /**
666 * This method initializes jPanel19
667 *
668 * @return javax.swing.JPanel
669 */
670 private JPanel getJPanel19() {
671 if (jPanel19 == null) {
672 jLabel8 = new JLabel();
673 jLabel8.setText("Sections");
674 jLabel4 = new JLabel();
675 jLabel4.setText("Sub-Sections");
676 jLabel2 = new JLabel();
677 jLabel2.setText("Section");
678 jPanel19 = new JPanel();
679 jPanel19.setLayout(new FlowLayout());
680 jPanel19.add(jLabel2, null);
681 jPanel19.add(getJButton(), null);
682 jPanel19.add(getJButton1(), null);
683 jPanel19.add(getJScrollPane1(), null);
684 jPanel19.add(jLabel8, null);
685 jPanel19.add(getJButton6(), null);
686 jPanel19.add(getJButton7(), null);
687 jPanel19.add(getJScrollPane4(), null);
688 jPanel19.add(jLabel4, null);
689 jPanel19.add(getJButton2(), null);
690 jPanel19.add(getJButton3(), null);
691 jPanel19.add(getJScrollPane3(), null);
692 }
693 return jPanel19;
694 }
695
696 /**
697 * This method initializes jPanel20
698 *
699 * @return javax.swing.JPanel
700 */
701 private JPanel getJPanel20() {
702 if (jPanel20 == null) {
703 jLabel15 = new JLabel();
704 jLabel15.setText("Tag Name");
705 FlowLayout flowLayout9 = new FlowLayout();
706 flowLayout9.setAlignment(java.awt.FlowLayout.LEFT);
707 jLabel14 = new JLabel();
708 jLabel14.setText("Build Targets");
709 jLabel12 = new JLabel();
710 jLabel12.setText("Tool Command");
711 jLabel11 = new JLabel();
712 jLabel11.setText("Supported Arch");
713 jLabel10 = new JLabel();
714 jLabel10.setText("Tool Chain Family");
715 jLabel9 = new JLabel();
716 jLabel9.setText("Option Contents");
717 jPanel20 = new JPanel();
718 jPanel20.setLayout(flowLayout9);
719 jPanel20.add(jLabel14, null);
720 jPanel20.add(getJTextField12(), null);
721 jPanel20.add(jLabel10, null);
722 jPanel20.add(getJComboBox2(), null);
723 jPanel20.add(jLabel12, null);
724 jPanel20.add(getJTextField8(), null);
725 jPanel20.add(jLabel11, null);
726 jPanel20.add(getJCheckBox9(), null);
727 jPanel20.add(getJCheckBox10(), null);
728 jPanel20.add(getJCheckBox11(), null);
729 jPanel20.add(getJCheckBox12(), null);
730 jPanel20.add(getJCheckBox13(), null);
731 jPanel20.add(getJCheckBox14(), null);
732 jPanel20.add(jLabel15, null);
733 jPanel20.add(getJTextField13(), null);
734 jPanel20.add(jLabel9, null);
735 jPanel20.add(getJTextField7(), null);
736 jPanel20.add(getJButton10(), null);
737 jPanel20.add(getJButton11(), null);
738 jPanel20.add(getJButton19(), null);
739 jPanel20.add(getJScrollPane6(), null);
740 }
741 return jPanel20;
742 }
743
744 /**
745 * This method initializes jTextField7
746 *
747 * @return javax.swing.JTextField
748 */
749 private JTextField getJTextField7() {
750 if (jTextField7 == null) {
751 jTextField7 = new JTextField();
752 jTextField7.setPreferredSize(new java.awt.Dimension(300,20));
753 }
754 return jTextField7;
755 }
756
757 /**
758 * This method initializes jComboBox2
759 *
760 * @return javax.swing.JComboBox
761 */
762 private JComboBox getJComboBox2() {
763 if (jComboBox2 == null) {
764 jComboBox2 = new JComboBox();
765 jComboBox2.setPreferredSize(new java.awt.Dimension(80,20));
766 jComboBox2.addItem("MSFT");
767 jComboBox2.addItem("GCC");
768 jComboBox2.addItem("CYGWIN");
769 jComboBox2.addItem("INTEL");
770 jComboBox2.setSelectedIndex(0);
771 }
772 return jComboBox2;
773 }
774
775 /**
776 * This method initializes jTextField8
777 *
778 * @return javax.swing.JTextField
779 */
780 private JTextField getJTextField8() {
781 if (jTextField8 == null) {
782 jTextField8 = new JTextField();
783 jTextField8.setPreferredSize(new java.awt.Dimension(110,20));
784 }
785 return jTextField8;
786 }
787
788 /**
789 * This method initializes jScrollPane6
790 *
791 * @return javax.swing.JScrollPane
792 */
793 private JScrollPane getJScrollPane6() {
794 if (jScrollPane6 == null) {
795 jScrollPane6 = new JScrollPane();
796 jScrollPane6.setPreferredSize(new java.awt.Dimension(630,200));
797 jScrollPane6.setViewportView(getJTable5());
798 }
799 return jScrollPane6;
800 }
801
802 /**
803 * This method initializes jTable5
804 *
805 * @return javax.swing.JTable
806 */
807 private JTable getJTable5() {
808 if (jTable5 == null) {
809 optionsTableModel = new DefaultTableModel();
810 jTable5 = new JTable(optionsTableModel);
811 optionsTableModel.addColumn("BuildTargets");
812 optionsTableModel.addColumn("ToolChainFamily");
813 optionsTableModel.addColumn("SupportedArch");
814 optionsTableModel.addColumn("ToolCommand");
815 optionsTableModel.addColumn("TagName");
816 optionsTableModel.addColumn("Contents");
817
818 TableColumn toolFamilyCol = jTable5.getColumnModel().getColumn(1);
819 JComboBox cb = new JComboBox();
820 cb.addItem("MSFT");
821 cb.addItem("GCC");
822 cb.addItem("CYGWIN");
823 cb.addItem("INTEL");
824 toolFamilyCol.setCellEditor(new DefaultCellEditor(cb));
825
826 jTable5.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
827 jTable5.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
828 public void valueChanged(ListSelectionEvent e) {
829 selectedRow = -1;
830 if (e.getValueIsAdjusting()){
831 return;
832 }
833 ListSelectionModel lsm = (ListSelectionModel)e.getSource();
834 if (lsm.isSelectionEmpty()) {
835 return;
836 }
837 else{
838 selectedRow = lsm.getMinSelectionIndex();
839 }
840 }
841 });
842
843 jTable5.getModel().addTableModelListener(new TableModelListener() {
844 public void tableChanged(TableModelEvent arg0) {
845 // TODO Auto-generated method stub
846 int row = arg0.getFirstRow();
847 TableModel m = (TableModel)arg0.getSource();
848 if (arg0.getType() == TableModelEvent.UPDATE){
849 //ToDo Data Validition check.
850 String targetName = m.getValueAt(row, 0) + "";
851 String toolChain = m.getValueAt(row, 1) + "";
852 String supArch = m.getValueAt(row, 2) + "";
853 String toolCmd = m.getValueAt(row, 3) + "";
854 String tagName = m.getValueAt(row, 4) + "";
855 String contents = m.getValueAt(row, 5) + "";
856 ffc.updateBuildOptionsOpt(row, targetName, toolChain, tagName, toolCmd, supArch, contents);
857 }
858 }
859 });
860 }
861 return jTable5;
862 }
863
864 /**
865 * This method initializes jButton10
866 *
867 * @return javax.swing.JButton
868 */
869 private JButton getJButton10() {
870 if (jButton10 == null) {
871 jButton10 = new JButton();
872 jButton10.setText("Add");
873 jButton10.setPreferredSize(new java.awt.Dimension(70,20));
874 jButton10.addActionListener(new AbstractAction() {
875 /**
876 *
877 */
878 private static final long serialVersionUID = 1L;
879
880 public void actionPerformed(java.awt.event.ActionEvent e) {
881 boolean[] boolArray = {jCheckBox9.isSelected(),jCheckBox10.isSelected(),jCheckBox11.isSelected(),
882 jCheckBox12.isSelected(),jCheckBox13.isSelected(),jCheckBox14.isSelected()};
883 String s = boolToList(boolArray);
884 Object[] o = {jTextField12.getText(), jComboBox2.getSelectedItem(), s,
885 jTextField8.getText(), jTextField13.getText(), jTextField7.getText()};
886 optionsTableModel.addRow(o);
887 ffc.genBuildOptionsOpt(jTextField12.getText(), jComboBox2.getSelectedItem()+"", jTextField13.getText(), jTextField8.getText(), s, jTextField7.getText());
888 }
889 });
890 }
891 return jButton10;
892 }
893
894 private String boolToList (boolean[] bool) {
895 String s = " ";
896 if (bool[0]) {
897 s += "IA32 ";
898 }
899 if (bool[1]) {
900 s += "IPF ";
901 }
902 if (bool[2]) {
903 s += "X64 ";
904 }
905 if (bool[3]) {
906 s += "EBC ";
907 }
908 if (bool[4]) {
909 s += "ARM ";
910 }
911 if (bool[5]) {
912 s += "PPC ";
913 }
914
915 return s.trim();
916 }
917
918 /**
919 * This method initializes jButton11
920 *
921 * @return javax.swing.JButton
922 */
923 private JButton getJButton11() {
924 if (jButton11 == null) {
925 jButton11 = new JButton();
926 jButton11.setText("Delete");
927 jButton11.setPreferredSize(new java.awt.Dimension(70,20));
928 jButton11.addActionListener(new AbstractAction() {
929 /**
930 *
931 */
932 private static final long serialVersionUID = 1L;
933
934 public void actionPerformed(java.awt.event.ActionEvent e) {
935 if (selectedRow >= 0) {
936 optionsTableModel.removeRow(selectedRow);
937 ffc.removeBuildOptionsOpt(selectedRow);
938 }
939 }
940 });
941 }
942 return jButton11;
943 }
944
945 /**
946 * This method initializes jButton17
947 *
948 * @return javax.swing.JButton
949 */
950 private JButton getJButton17() {
951 if (jButton17 == null) {
952 jButton17 = new JButton();
953 jButton17.setPreferredSize(new java.awt.Dimension(80,20));
954 jButton17.setText("New");
955 jButton17.addActionListener(new AbstractAction() {
956 /**
957 *
958 */
959 private static final long serialVersionUID = 1L;
960
961 public void actionPerformed(ActionEvent arg0){
962 if (jTable.getSelectedRow() < 0) {
963 return;
964 }
965 Object[] o = {"", ""};
966 ffsAttributesTableModel.addRow(o);
967 ffc.genBuildOptionsFfsAttribute(jTable.getSelectedRow(), "", "");
968 }
969 });
970 }
971 return jButton17;
972 }
973
974 /**
975 * This method initializes jButton18
976 *
977 * @return javax.swing.JButton
978 */
979 private JButton getJButton18() {
980 if (jButton18 == null) {
981 jButton18 = new JButton();
982 jButton18.setPreferredSize(new java.awt.Dimension(80,20));
983 jButton18.setText("Remove");
984 jButton18.addActionListener(new AbstractAction(){
985 /**
986 *
987 */
988 private static final long serialVersionUID = 1L;
989
990 public void actionPerformed(ActionEvent arg0){
991 if (jTable.getSelectedRow() < 0) {
992 return;
993 }
994 if (jTable4.getSelectedRow() >= 0){
995 ffsAttributesTableModel.removeRow(jTable4.getSelectedRow());
996 ffc.removeBuildOptionsFfsAttribute(jTable.getSelectedRow(), jTable4.getSelectedRow());
997 }
998 }
999 });
1000 }
1001 return jButton18;
1002 }
1003
1004 /**
1005 * This method initializes jButton19
1006 *
1007 * @return javax.swing.JButton
1008 */
1009 private JButton getJButton19() {
1010 if (jButton19 == null) {
1011 jButton19 = new JButton();
1012 jButton19.setPreferredSize(new java.awt.Dimension(75,20));
1013 jButton19.setEnabled(false);
1014 jButton19.setText("Update");
1015 }
1016 return jButton19;
1017 }
1018
1019 /**
1020 * This method initializes jCheckBox9
1021 *
1022 * @return javax.swing.JCheckBox
1023 */
1024 private JCheckBox getJCheckBox9() {
1025 if (jCheckBox9 == null) {
1026 jCheckBox9 = new JCheckBox();
1027 jCheckBox9.setPreferredSize(new java.awt.Dimension(50,20));
1028 jCheckBox9.setText("IA32");
1029 }
1030 return jCheckBox9;
1031 }
1032
1033 /**
1034 * This method initializes jCheckBox10
1035 *
1036 * @return javax.swing.JCheckBox
1037 */
1038 private JCheckBox getJCheckBox10() {
1039 if (jCheckBox10 == null) {
1040 jCheckBox10 = new JCheckBox();
1041 jCheckBox10.setPreferredSize(new java.awt.Dimension(50,20));
1042 jCheckBox10.setText("IPF");
1043 }
1044 return jCheckBox10;
1045 }
1046
1047 /**
1048 * This method initializes jCheckBox11
1049 *
1050 * @return javax.swing.JCheckBox
1051 */
1052 private JCheckBox getJCheckBox11() {
1053 if (jCheckBox11 == null) {
1054 jCheckBox11 = new JCheckBox();
1055 jCheckBox11.setText("X64");
1056 jCheckBox11.setPreferredSize(new java.awt.Dimension(47,20));
1057 }
1058 return jCheckBox11;
1059 }
1060
1061 /**
1062 * This method initializes jCheckBox12
1063 *
1064 * @return javax.swing.JCheckBox
1065 */
1066 private JCheckBox getJCheckBox12() {
1067 if (jCheckBox12 == null) {
1068 jCheckBox12 = new JCheckBox();
1069 jCheckBox12.setPreferredSize(new java.awt.Dimension(50,20));
1070 jCheckBox12.setText("EBC");
1071 }
1072 return jCheckBox12;
1073 }
1074
1075 /**
1076 * This method initializes jCheckBox13
1077 *
1078 * @return javax.swing.JCheckBox
1079 */
1080 private JCheckBox getJCheckBox13() {
1081 if (jCheckBox13 == null) {
1082 jCheckBox13 = new JCheckBox();
1083 jCheckBox13.setPreferredSize(new java.awt.Dimension(55,20));
1084 jCheckBox13.setText("ARM");
1085 }
1086 return jCheckBox13;
1087 }
1088
1089 /**
1090 * This method initializes jCheckBox14
1091 *
1092 * @return javax.swing.JCheckBox
1093 */
1094 private JCheckBox getJCheckBox14() {
1095 if (jCheckBox14 == null) {
1096 jCheckBox14 = new JCheckBox();
1097 jCheckBox14.setPreferredSize(new java.awt.Dimension(50,20));
1098 jCheckBox14.setText("PPC");
1099 }
1100 return jCheckBox14;
1101 }
1102
1103 /**
1104 * This method initializes jTextField12
1105 *
1106 * @return javax.swing.JTextField
1107 */
1108 private JTextField getJTextField12() {
1109 if (jTextField12 == null) {
1110 jTextField12 = new JTextField();
1111 jTextField12.setPreferredSize(new java.awt.Dimension(150,20));
1112 }
1113 return jTextField12;
1114 }
1115
1116 /**
1117 * This method initializes jTextField13
1118 *
1119 * @return javax.swing.JTextField
1120 */
1121 private JTextField getJTextField13() {
1122 if (jTextField13 == null) {
1123 jTextField13 = new JTextField();
1124 jTextField13.setPreferredSize(new java.awt.Dimension(140,20));
1125 }
1126 return jTextField13;
1127 }
1128
1129 /**
1130 * This method initializes jScrollPane
1131 *
1132 * @return javax.swing.JScrollPane
1133 */
1134 private JScrollPane getJScrollPane() {
1135 if (jScrollPane == null) {
1136 jScrollPane = new JScrollPane();
1137 jScrollPane.setPreferredSize(new java.awt.Dimension(150,419));
1138 jScrollPane.setViewportView(getJTable());
1139 }
1140 return jScrollPane;
1141 }
1142
1143 /**
1144 * This method initializes jTable
1145 *
1146 * @return javax.swing.JTable
1147 */
1148 private JTable getJTable() {
1149 if (jTable == null) {
1150 ffsTableModel = new DefaultTableModel();
1151 ffsTableModel.addColumn("FFS Type");
1152 jTable = new JTable(ffsTableModel);
1153 jTable.setShowGrid(false);
1154 jTable.setRowHeight(20);
1155
1156 jTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
1157 jTable.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
1158 public void valueChanged(ListSelectionEvent e) {
1159
1160 if (e.getValueIsAdjusting()){
1161 return;
1162 }
1163 ListSelectionModel lsm = (ListSelectionModel)e.getSource();
1164 if (lsm.isSelectionEmpty()) {
1165 return;
1166 }
1167 else{
1168 int row = lsm.getMinSelectionIndex();
1169 sectionTableModel.setRowCount(0);
1170 sectionsTableModel.setRowCount(0);
1171 subsectionsTableModel.setRowCount(0);
1172 ffsAttributesTableModel.setRowCount(0);
1173 String[] sArray = {"", ""};
1174 LinkedHashMap<String, String> lhm = new LinkedHashMap<String, String>();
1175 ArrayList<String> alSections = new ArrayList<String>();
1176 ArrayList<String> alSection = new ArrayList<String>();
1177 ffc.getBuildOptionsFfs(row, sArray, lhm, alSections, alSection);
1178 jTextField6.setText(sArray[0]);
1179 jTextField.setText(sArray[1]);
1180 for (int i = 0; i < alSection.size(); ++i) {
1181 String[] sectionRow = {alSection.get(i)};
1182 sectionTableModel.addRow(sectionRow);
1183 }
1184 for (int j = 0; j < alSections.size(); ++j) {
1185 String[] sectionsRow = {alSections.get(j)};
1186 sectionsTableModel.addRow(sectionsRow);
1187 }
1188 if (lhm.size() <= 0 ) {
1189 return;
1190 }
1191 Set<String> keySet = lhm.keySet();
1192 Iterator<String> is = keySet.iterator();
1193 while(is.hasNext()) {
1194 String key = is.next();
1195 String[] attribRow = {key, lhm.get(key)};
1196 ffsAttributesTableModel.addRow(attribRow);
1197 }
1198 }
1199 }
1200 });
1201
1202 jTable.getModel().addTableModelListener(new TableModelListener() {
1203 public void tableChanged(TableModelEvent arg0) {
1204 // TODO Auto-generated method stub
1205 int row = arg0.getFirstRow();
1206 TableModel m = (TableModel)arg0.getSource();
1207 if (arg0.getType() == TableModelEvent.UPDATE){
1208 //ToDo Data Validition check.
1209 String id = m.getValueAt(row, 0) + "";
1210
1211 if (id.length() == 0) {
1212 return;
1213 }
1214
1215 // ffc.updateBuildOptionsUserDefAntTask(row, id, file, execOrder);
1216
1217 }
1218 }
1219 });
1220 }
1221 return jTable;
1222 }
1223
1224 /**
1225 * This method initializes jScrollPane1
1226 *
1227 * @return javax.swing.JScrollPane
1228 */
1229 private JScrollPane getJScrollPane1() {
1230 if (jScrollPane1 == null) {
1231 jScrollPane1 = new JScrollPane();
1232 jScrollPane1.setPreferredSize(new java.awt.Dimension(500,80));
1233 jScrollPane1.setViewportView(getJTable1());
1234 }
1235 return jScrollPane1;
1236 }
1237
1238 /**
1239 * This method initializes jTable1
1240 *
1241 * @return javax.swing.JTable
1242 */
1243 private JTable getJTable1() {
1244 if (jTable1 == null) {
1245 sectionTableModel = new DefaultTableModel();
1246 sectionTableModel.addColumn("SectionType");
1247
1248 jTable1 = new JTable(sectionsTableModel);
1249 }
1250 return jTable1;
1251 }
1252
1253 /**
1254 * This method initializes jScrollPane3
1255 *
1256 * @return javax.swing.JScrollPane
1257 */
1258 private JScrollPane getJScrollPane3() {
1259 if (jScrollPane3 == null) {
1260 jScrollPane3 = new JScrollPane();
1261 jScrollPane3.setPreferredSize(new java.awt.Dimension(500,90));
1262 jScrollPane3.setViewportView(getJTable3());
1263 }
1264 return jScrollPane3;
1265 }
1266
1267 /**
1268 * This method initializes jTable3
1269 *
1270 * @return javax.swing.JTable
1271 */
1272 private JTable getJTable3() {
1273 if (jTable3 == null) {
1274 subsectionsTableModel = new DefaultTableModel();
1275 subsectionsTableModel.addColumn("SectionType");
1276 jTable3 = new JTable(subsectionsTableModel);
1277 }
1278 return jTable3;
1279 }
1280
1281 /**
1282 * This method initializes jTextField
1283 *
1284 * @return javax.swing.JTextField
1285 */
1286 private JTextField getJTextField() {
1287 if (jTextField == null) {
1288 jTextField = new JTextField();
1289 jTextField.setPreferredSize(new java.awt.Dimension(100,20));
1290 }
1291 return jTextField;
1292 }
1293
1294 /**
1295 * This method initializes jPanel4
1296 *
1297 * @return javax.swing.JPanel
1298 */
1299 private JPanel getJPanel4() {
1300 if (jPanel4 == null) {
1301 jPanel4 = new JPanel();
1302 jPanel4.setPreferredSize(new java.awt.Dimension(100,100));
1303 jPanel4.add(getJButton17(), null);
1304 jPanel4.add(getJButton18(), null);
1305 }
1306 return jPanel4;
1307 }
1308
1309 /**
1310 * This method initializes jButton
1311 *
1312 * @return javax.swing.JButton
1313 */
1314 private JButton getJButton() {
1315 if (jButton == null) {
1316 jButton = new JButton();
1317 jButton.setPreferredSize(new java.awt.Dimension(80,20));
1318 jButton.setText("New");
1319 }
1320 return jButton;
1321 }
1322
1323 /**
1324 * This method initializes jButton1
1325 *
1326 * @return javax.swing.JButton
1327 */
1328 private JButton getJButton1() {
1329 if (jButton1 == null) {
1330 jButton1 = new JButton();
1331 jButton1.setPreferredSize(new java.awt.Dimension(80,20));
1332 jButton1.setText("Remove");
1333 }
1334 return jButton1;
1335 }
1336
1337 /**
1338 * This method initializes jButton2
1339 *
1340 * @return javax.swing.JButton
1341 */
1342 private JButton getJButton2() {
1343 if (jButton2 == null) {
1344 jButton2 = new JButton();
1345 jButton2.setPreferredSize(new java.awt.Dimension(80,20));
1346 jButton2.setText("New");
1347 }
1348 return jButton2;
1349 }
1350
1351 /**
1352 * This method initializes jButton3
1353 *
1354 * @return javax.swing.JButton
1355 */
1356 private JButton getJButton3() {
1357 if (jButton3 == null) {
1358 jButton3 = new JButton();
1359 jButton3.setPreferredSize(new java.awt.Dimension(80,20));
1360 jButton3.setText("Remove");
1361 }
1362 return jButton3;
1363 }
1364
1365 /**
1366 * This method initializes jButton6
1367 *
1368 * @return javax.swing.JButton
1369 */
1370 private JButton getJButton6() {
1371 if (jButton6 == null) {
1372 jButton6 = new JButton();
1373 jButton6.setPreferredSize(new java.awt.Dimension(80,20));
1374 jButton6.setText("New");
1375 }
1376 return jButton6;
1377 }
1378
1379 /**
1380 * This method initializes jButton7
1381 *
1382 * @return javax.swing.JButton
1383 */
1384 private JButton getJButton7() {
1385 if (jButton7 == null) {
1386 jButton7 = new JButton();
1387 jButton7.setPreferredSize(new java.awt.Dimension(80,20));
1388 jButton7.setText("Remove");
1389 }
1390 return jButton7;
1391 }
1392
1393 /**
1394 * This method initializes jScrollPane4
1395 *
1396 * @return javax.swing.JScrollPane
1397 */
1398 private JScrollPane getJScrollPane4() {
1399 if (jScrollPane4 == null) {
1400 jScrollPane4 = new JScrollPane();
1401 jScrollPane4.setPreferredSize(new java.awt.Dimension(500,80));
1402 jScrollPane4.setViewportView(getJTable6());
1403 }
1404 return jScrollPane4;
1405 }
1406
1407 /**
1408 * This method initializes jTable6
1409 *
1410 * @return javax.swing.JTable
1411 */
1412 private JTable getJTable6() {
1413 if (jTable6 == null) {
1414 sectionsTableModel = new DefaultTableModel();
1415 sectionsTableModel.addColumn("EncapsulationType");
1416 jTable6 = new JTable(sectionsTableModel);
1417
1418 jTable6.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
1419 jTable6.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
1420 public void valueChanged(ListSelectionEvent e) {
1421 if (e.getValueIsAdjusting()){
1422 return;
1423 }
1424 ListSelectionModel lsm = (ListSelectionModel)e.getSource();
1425 if (lsm.isSelectionEmpty()) {
1426 return;
1427 }
1428 else{
1429 int sectionsRow = lsm.getMinSelectionIndex();
1430 if (jTable.getSelectedRow() < 0) {
1431 return;
1432 }
1433 subsectionsTableModel.setRowCount(0);
1434 ArrayList<String> al = new ArrayList<String>();
1435 ffc.getBuildOptionsFfsSectionsSectionsSection(jTable.getSelectedRow(), sectionsRow, al);
1436 for (int i = 0; i < al.size(); ++i) {
1437 String[] subsectionRow = {al.get(i)};
1438 subsectionsTableModel.addRow(subsectionRow);
1439 }
1440 }
1441 }
1442 });
1443
1444 jTable6.getModel().addTableModelListener(new TableModelListener() {
1445 public void tableChanged(TableModelEvent arg0) {
1446 // TODO Auto-generated method stub
1447 int row = arg0.getFirstRow();
1448 TableModel m = (TableModel)arg0.getSource();
1449 if (arg0.getType() == TableModelEvent.UPDATE){
1450 //ToDo Data Validition check.
1451 // String targetName = m.getValueAt(row, 0) + "";
1452 // String toolChain = m.getValueAt(row, 1) + "";
1453 // String supArch = m.getValueAt(row, 2) + "";
1454 // String toolCmd = m.getValueAt(row, 3) + "";
1455 // String tagName = m.getValueAt(row, 4) + "";
1456 // String contents = m.getValueAt(row, 5) + "";
1457 // ffc.updateBuildOptionsOpt(row, targetName, toolChain, tagName, toolCmd, supArch, contents);
1458 }
1459 }
1460 });
1461 }
1462 return jTable6;
1463 }
1464
1465 /**
1466 * @param args
1467 */
1468 public static void main(String[] args) {
1469 // TODO Auto-generated method stub
1470 new FpdBuildOptions().setVisible(true);
1471 }
1472
1473 /**
1474 * This is the default constructor
1475 */
1476 public FpdBuildOptions() {
1477 super();
1478 initialize();
1479 this.setVisible(true);
1480 }
1481
1482 public FpdBuildOptions(PlatformSurfaceAreaDocument.PlatformSurfaceArea fpd) {
1483 this();
1484 ffc = new FpdFileContents(fpd);
1485 init(ffc);
1486 }
1487
1488 private void init(FpdFileContents ffc) {
1489 initOptionTable();
1490 initAntTaskTable();
1491 initFfsTable();
1492 this.addInternalFrameListener(new InternalFrameAdapter(){
1493 public void internalFrameDeactivated(InternalFrameEvent e){
1494 if (jTable.isEditing()) {
1495 jTable.getCellEditor().stopCellEditing();
1496 }
1497 if (jTable1.isEditing()) {
1498 jTable1.getCellEditor().stopCellEditing();
1499 }
1500 if (jTable2.isEditing()) {
1501 jTable2.getCellEditor().stopCellEditing();
1502 }
1503 if (jTable3.isEditing()) {
1504 jTable3.getCellEditor().stopCellEditing();
1505 }
1506 if (jTable4.isEditing()) {
1507 jTable4.getCellEditor().stopCellEditing();
1508 }
1509 if (jTable5.isEditing()) {
1510 jTable5.getCellEditor().stopCellEditing();
1511 }
1512 }
1513 });
1514 }
1515
1516 private void initOptionTable() {
1517 if (ffc.getBuildOptionsOptCount() == 0) {
1518 //ToDo get default options from *.txt file
1519 return;
1520 }
1521 String[][] saa = new String[ffc.getBuildOptionsOptCount()][6];
1522 ffc.getBuildOptionsOpts(saa);
1523 for (int i = 0; i < saa.length; ++i) {
1524 optionsTableModel.addRow(saa[i]);
1525 }
1526 }
1527
1528 private void initAntTaskTable() {
1529 if (ffc.getBuildOptionsUserDefAntTaskCount() == 0) {
1530 return;
1531 }
1532 String[][] saa = new String[ffc.getBuildOptionsUserDefAntTaskCount()][3];
1533 ffc.getBuildOptionsUserDefAntTasks(saa);
1534 for (int i = 0; i < saa.length; ++i) {
1535 antTaskTableModel.addRow(saa[i]);
1536 }
1537 }
1538
1539 private void initFfsTable(){
1540 int ffsCount = ffc.getBuildOptionsFfsCount();
1541 if (ffsCount < 0) {
1542 return;
1543 }
1544 String[][] saa = new String[ffsCount][1];
1545 ffc.getBuildOptionsFfsKey(saa);
1546 for (int i = 0; i < saa.length; ++i) {
1547 ffsTableModel.addRow(saa[i]);
1548 }
1549 }
1550 /**
1551 * This method initializes this
1552 *
1553 * @return void
1554 */
1555 private void initialize() {
1556 this.setSize(722, 577);
1557 this.setTitle("FPD Build Options");
1558 this.setContentPane(getJContentPane());
1559 }
1560
1561 /**
1562 * This method initializes jContentPane
1563 *
1564 * @return javax.swing.JPanel
1565 */
1566 private JPanel getJContentPane() {
1567 if (jContentPane == null) {
1568 jContentPane = new JPanel();
1569 jContentPane.setLayout(new BorderLayout());
1570 jContentPane.add(getJPanel(), java.awt.BorderLayout.SOUTH);
1571 jContentPane.add(getJPanel1(), java.awt.BorderLayout.NORTH);
1572 jContentPane.add(getJPanel2(), java.awt.BorderLayout.WEST);
1573 jContentPane.add(getJPanel3(), java.awt.BorderLayout.EAST);
1574 jContentPane.add(getJTabbedPane(), java.awt.BorderLayout.CENTER);
1575 }
1576 return jContentPane;
1577 }
1578
1579 } // @jve:decl-index=0:visual-constraint="10,10"