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