]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdBuildOptions.java
Ensure the validity of Ffs Sections when adding a new Sections to Ffs.
[mirror_edk2.git] / Tools / Java / 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
a13899c5 18\r
19import javax.swing.JPanel;\r
a13899c5 20import javax.swing.JTabbedPane;\r
21import javax.swing.JCheckBox;\r
22import javax.swing.JLabel;\r
23import java.awt.FlowLayout;\r
24import javax.swing.AbstractAction;\r
25import java.awt.event.ActionEvent;\r
26import java.awt.event.ActionListener;\r
cd1fd8f9 27import java.awt.event.ComponentEvent;\r
a13899c5 28\r
a13899c5 29import javax.swing.DefaultCellEditor;\r
af25df16 30import javax.swing.JFileChooser;\r
d6d24759 31import javax.swing.JFrame;\r
32import javax.swing.JOptionPane;\r
a13899c5 33import javax.swing.JTextField;\r
34import javax.swing.JButton;\r
35import javax.swing.JScrollPane;\r
36import javax.swing.JTable;\r
37import javax.swing.JComboBox;\r
a13899c5 38import javax.swing.ListSelectionModel;\r
44053733 39import javax.swing.event.InternalFrameAdapter;\r
40import javax.swing.event.InternalFrameEvent;\r
a13899c5 41import javax.swing.event.ListSelectionEvent;\r
42import javax.swing.event.ListSelectionListener;\r
43import javax.swing.event.TableModelEvent;\r
44import javax.swing.event.TableModelListener;\r
45import javax.swing.table.DefaultTableModel;\r
a13899c5 46import javax.swing.table.TableModel;\r
a13899c5 47\r
48import org.tianocore.PlatformSurfaceAreaDocument;\r
d6d24759 49import org.tianocore.frameworkwizard.common.DataValidation;\r
cd1fd8f9 50import org.tianocore.frameworkwizard.common.Tools;\r
d6d24759 51import org.tianocore.frameworkwizard.common.Identifications.OpeningPlatformType;\r
a13899c5 52import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
af25df16 53\r
54import java.io.File;\r
6cba26e8 55import java.util.ArrayList;\r
56import java.util.Iterator;\r
57import java.util.LinkedHashMap;\r
58import java.util.Set;\r
1800d80f 59import java.util.Vector;\r
af25df16 60import java.awt.Dimension;\r
c1dbe93d 61import javax.swing.JSplitPane;\r
cd1fd8f9 62import java.awt.GridLayout;\r
a13899c5 63\r
64public class FpdBuildOptions extends IInternalFrame {\r
65\r
2e482fb5 66 private final int oneRowHeight = 20;\r
67\r
68 private final int twoRowHeight = 40;\r
69\r
2e482fb5 70 private final int sepHeight = 6;\r
71\r
72 private final int sepWidth = 10;\r
73\r
74 private final int buttonWidth = 90;\r
75\r
76 private final int rowOne = 12;\r
77\r
78 private final int dialogWidth = 600;\r
79\r
80 private final int rowTwo = rowOne + oneRowHeight + sepHeight;\r
81\r
82 private final int rowThree = rowTwo + oneRowHeight + sepHeight;\r
83\r
84 private final int rowFour = rowThree + oneRowHeight + sepHeight;\r
85\r
86 private final int rowFive = rowFour + oneRowHeight + sepHeight;\r
87\r
88 private final int rowSix = rowFive + oneRowHeight + sepHeight;\r
89\r
90 private final int rowSeven = rowSix + oneRowHeight + sepHeight;\r
91\r
92 private final int buttonRow = rowSeven + oneRowHeight + sepHeight + sepHeight;\r
93\r
94 private final int dialogHeight = buttonRow + twoRowHeight + twoRowHeight;\r
95\r
96 private final int lastButtonXLoc = dialogWidth - buttonWidth - sepWidth;\r
97\r
98 private final int next2LastButtonLoc = lastButtonXLoc - buttonWidth - sepWidth;\r
99\r
100 private final int firstButtonLoc = next2LastButtonLoc - buttonWidth - sepWidth;\r
101\r
2e482fb5 102 private final int labelColumn = 12;\r
103\r
104 private final int fieldColumn = 168;\r
105\r
106 private final int labelWidth = 155;\r
107\r
108 private final int fieldWidth = 320;\r
109\r
a13899c5 110 private static final long serialVersionUID = 1L;\r
2e482fb5 111\r
d6d24759 112 static JFrame frame;\r
2e482fb5 113\r
a13899c5 114 private JPanel jContentPane = null;\r
2e482fb5 115\r
116 // private JPanel jPanelContentSouth = null;\r
117\r
118 // private JPanel jPanelContentNorth = null;\r
119\r
120 // private JPanel jPanelContentWest = null;\r
121\r
122 // private JPanel jPanelContentEast = null;\r
123\r
a13899c5 124 private JTabbedPane jTabbedPane = null;\r
2e482fb5 125\r
4da2e625 126 private JPanel jPanelUserDef = null;\r
2e482fb5 127\r
4da2e625 128 private JPanel jPanelUserDefNorth = null;\r
2e482fb5 129\r
4da2e625 130 private JPanel jPanelUserDefCenter = null;\r
2e482fb5 131\r
4da2e625 132 private JTextField jTextFieldAntTaskFile = null;\r
2e482fb5 133\r
4da2e625 134 private JLabel jLabelAntTaskId = null;\r
2e482fb5 135\r
4da2e625 136 private JTextField jTextFieldAntTaskId = null;\r
2e482fb5 137\r
4da2e625 138 private JButton jButtonAntTaskAdd = null;\r
2e482fb5 139\r
4da2e625 140 private JButton jButtonAntTaskDel = null;\r
2e482fb5 141\r
4da2e625 142 private JTextField jTextFieldAntCmdOpts = null;\r
2e482fb5 143\r
4da2e625 144 private JScrollPane jScrollPaneAntTasks = null;\r
2e482fb5 145\r
4da2e625 146 private JTable jTableAntTasks = null;\r
2e482fb5 147\r
44053733 148 private DefaultTableModel ffsTableModel = null;\r
2e482fb5 149\r
6cba26e8 150 private DefaultTableModel sectionsTableModel = null;\r
2e482fb5 151\r
6cba26e8 152 private DefaultTableModel sectionTableModel = null;\r
2e482fb5 153\r
6cba26e8 154 private DefaultTableModel subsectionsTableModel = null;\r
2e482fb5 155\r
a13899c5 156 private DefaultTableModel antTaskTableModel = null;\r
2e482fb5 157\r
a13899c5 158 private DefaultTableModel ffsAttributesTableModel = null;\r
2e482fb5 159\r
a13899c5 160 private DefaultTableModel optionsTableModel = null;\r
2e482fb5 161\r
4da2e625 162 private JPanel jPanelFfsTab = null;\r
2e482fb5 163\r
4da2e625 164 private JPanel jPanelFfsTabCenter = null;\r
2e482fb5 165\r
4da2e625 166 private JPanel jPanelFfsTabCenterN = null;\r
2e482fb5 167\r
4da2e625 168 private JPanel jPanelFfsTabCenterS = null;\r
2e482fb5 169\r
4da2e625 170 private JLabel jLabelFfsKey = null;\r
2e482fb5 171\r
4da2e625 172 private JTextField jTextFieldFfsKey = null;\r
2e482fb5 173\r
4da2e625 174 private JButton jButtonFfsAdd = null;\r
2e482fb5 175\r
4da2e625 176 private JButton jButtonFfsDel = null;\r
2e482fb5 177\r
4da2e625 178 private JScrollPane jScrollPaneFfsAttribs = null;\r
2e482fb5 179\r
4da2e625 180 private JTable jTableFfsAttribs = null;\r
2e482fb5 181\r
4da2e625 182 private JPanel jPanelOptionsTab = null;\r
2e482fb5 183\r
4da2e625 184 private JLabel jLabelOptionContents = null;\r
2e482fb5 185\r
4da2e625 186 private JTextField jTextFieldOptionContents = null;\r
2e482fb5 187\r
4da2e625 188 private JLabel jLabelToolChainFamily = null;\r
2e482fb5 189\r
4da2e625 190 private JLabel jLabelSupArch = null;\r
2e482fb5 191\r
4da2e625 192 private JLabel jLabelToolCmd = null;\r
2e482fb5 193\r
4da2e625 194 private JTextField jTextFieldToolCmd = null;\r
2e482fb5 195\r
4da2e625 196 private JScrollPane jScrollPaneOptions = null;\r
2e482fb5 197\r
4da2e625 198 private JTable jTableOptions = null;\r
2e482fb5 199 \r
4da2e625 200 private JButton jButtonOptionsAdd = null;\r
2e482fb5 201\r
4da2e625 202 private JButton jButtonOptionsDel = null;\r
2e482fb5 203\r
4da2e625 204 private JButton jButtonFfsAttribNew = null;\r
2e482fb5 205\r
4da2e625 206 private JButton jButtonFfsAttribRemove = null;\r
2e482fb5 207\r
a13899c5 208 private FpdFileContents ffc = null;\r
2e482fb5 209\r
d6d24759 210 private OpeningPlatformType docConsole = null;\r
2e482fb5 211\r
212 private JPanel jArchitectureSelections = null;\r
213\r
4da2e625 214 private JCheckBox jCheckBoxIA32 = null;\r
2e482fb5 215\r
4da2e625 216 private JCheckBox jCheckBoxIpf = null;\r
2e482fb5 217\r
4da2e625 218 private JCheckBox jCheckBoxX64 = null;\r
2e482fb5 219\r
4da2e625 220 private JCheckBox jCheckBoxEBC = null;\r
2e482fb5 221\r
4da2e625 222 private JCheckBox jCheckBoxARM = null;\r
2e482fb5 223\r
4da2e625 224 private JCheckBox jCheckBoxPPC = null;\r
2e482fb5 225\r
4da2e625 226 private JLabel jLabelBuildTargets = null;\r
2e482fb5 227\r
4da2e625 228 private JTextField jTextFieldBuildTargets = null;\r
2e482fb5 229\r
4da2e625 230 private JTextField jTextFieldTagName = null;\r
2e482fb5 231\r
4da2e625 232 private JLabel jLabelTagName = null;\r
2e482fb5 233\r
a13899c5 234 private int selectedRow = -1;\r
2e482fb5 235\r
4da2e625 236 private JLabel jLabelAntTaskFile = null;\r
2e482fb5 237\r
4da2e625 238 private JLabel jLabelAntCmdOpts = null;\r
2e482fb5 239\r
4da2e625 240 private JScrollPane jScrollPaneFfs = null;\r
2e482fb5 241\r
4da2e625 242 private JTable jTableFfs = null;\r
2e482fb5 243\r
4da2e625 244 private JLabel jLabelFfsSection = null;\r
2e482fb5 245\r
4da2e625 246 private JScrollPane jScrollPaneFfsSection = null;\r
2e482fb5 247\r
4da2e625 248 private JTable jTableFfsSection = null;\r
2e482fb5 249\r
4da2e625 250 private JLabel jLabelFfsSubSections = null;\r
2e482fb5 251\r
4da2e625 252 private JScrollPane jScrollPaneFfsSubSection = null;\r
2e482fb5 253\r
4da2e625 254 private JTable jTableFfsSubSection = null;\r
2e482fb5 255\r
4da2e625 256 private JLabel jLabelEncapType = null;\r
2e482fb5 257\r
4da2e625 258 private JTextField jTextFieldEncapType = null;\r
2e482fb5 259\r
4da2e625 260 private JPanel jPanelFfsAttribButtonGroup = null;\r
2e482fb5 261\r
4da2e625 262 private JLabel jLabelFfsAttribs = null;\r
2e482fb5 263\r
4da2e625 264 private JButton jButtonFfsSectionNew = null;\r
2e482fb5 265\r
4da2e625 266 private JButton jButtonFfsSectionRemove = null;\r
2e482fb5 267\r
4da2e625 268 private JButton jButtonFfsSubSectionNew = null;\r
2e482fb5 269\r
4da2e625 270 private JButton jButtonFfsSubSectionRemove = null;\r
2e482fb5 271\r
4da2e625 272 private JLabel jLabelFfsSections = null;\r
2e482fb5 273\r
4da2e625 274 private JButton jButtonFfsSectionsNew = null;\r
2e482fb5 275\r
4da2e625 276 private JButton jButtonFfsSectionsRemove = null;\r
2e482fb5 277\r
4da2e625 278 private JScrollPane jScrollPaneFfsSections = null;\r
2e482fb5 279\r
4da2e625 280 private JTable jTableFfsSections = null;\r
2e482fb5 281\r
4da2e625 282 private JButton jButtonAntTaskFileBrowse = null;\r
2e482fb5 283\r
4da2e625 284 private JTextField jTextFieldToolChainFamily = null;\r
2e482fb5 285\r
c1dbe93d 286 private JSplitPane jSplitPaneFfsC = null;\r
2e482fb5 287\r
c1dbe93d 288 private JPanel jPanelFfsCTop = null;\r
2e482fb5 289\r
c1dbe93d 290 private JSplitPane jSplitPaneFfsCBottom = null;\r
2e482fb5 291\r
c1dbe93d 292 private JPanel jPanelFfsCBottomTop = null;\r
2e482fb5 293\r
c1dbe93d 294 private JPanel jPanelFfsCBottomBottom = null;\r
2e482fb5 295\r
c1dbe93d 296 private JPanel jPanelSectionN = null;\r
2e482fb5 297\r
c1dbe93d 298 private JPanel jPanelSectionsN = null;\r
2e482fb5 299\r
c1dbe93d 300 private JPanel jPanelSubSectionN = null;\r
2e482fb5 301\r
c1dbe93d 302 private JPanel jPanelOptionsContainer = null;\r
2e482fb5 303\r
c1dbe93d 304 private JPanel jPanelUserDefCenterN = null;\r
2e482fb5 305\r
cd1fd8f9 306 private JPanel jPanelTableOptionsContainer = null;\r
307\r
308 private JLabel jLabelTableOptionsTitle = null;\r
309\r
a13899c5 310 /**\r
311 * This method initializes jPanel \r
312 * \r
313 * @return javax.swing.JPanel \r
2e482fb5 314 private JPanel getJPanelContentSouth() {\r
315 if (jPanelContentSouth == null) {\r
316 jPanelContentSouth = new JPanel();\r
317 }\r
318 return jPanelContentSouth;\r
319 }\r
a13899c5 320 */\r
a13899c5 321\r
322 /**\r
323 * This method initializes jPanel1 \r
324 * \r
325 * @return javax.swing.JPanel \r
2e482fb5 326 private JPanel getJPanelContentNorth() {\r
327 if (jPanelContentNorth == null) {\r
328 jPanelContentNorth = new JPanel();\r
329 }\r
330 return jPanelContentNorth;\r
331 }\r
a13899c5 332 */\r
a13899c5 333\r
334 /**\r
335 * This method initializes jPanel2 \r
336 * \r
337 * @return javax.swing.JPanel \r
2e482fb5 338 private JPanel getJPanelContentWest() {\r
339 if (jPanelContentWest == null) {\r
340 jPanelContentWest = new JPanel();\r
341 }\r
342 return jPanelContentWest;\r
343 }\r
a13899c5 344 */\r
a13899c5 345\r
346 /**\r
347 * This method initializes jPanel3 \r
348 * \r
349 * @return javax.swing.JPanel \r
2e482fb5 350 private JPanel getJPanelContentEast() {\r
351 if (jPanelContentEast == null) {\r
352 jPanelContentEast = new JPanel();\r
353 }\r
354 return jPanelContentEast;\r
355 }\r
a13899c5 356 */\r
a13899c5 357\r
358 /**\r
359 * This method initializes jTabbedPane \r
360 * \r
361 * @return javax.swing.JTabbedPane \r
362 */\r
363 private JTabbedPane getJTabbedPane() {\r
364 if (jTabbedPane == null) {\r
365 jTabbedPane = new JTabbedPane();\r
2e482fb5 366 jTabbedPane.addTab("Flash Filesystem Options", null, getJPanelFfsTab(), null);\r
72a4deab 367 jTabbedPane.addTab("Customize Tool Chain Configurations", null, getJPanelOptionsTab(), null);\r
4da2e625 368 jTabbedPane.addTab("User Defined ANT Tasks", null, getJPanelUserDef(), null);\r
a13899c5 369 }\r
370 return jTabbedPane;\r
371 }\r
372\r
a13899c5 373 /**\r
2e482fb5 374 * This method initializes this\r
375 * \r
376 * @return void\r
a13899c5 377 */\r
2e482fb5 378 private void initialize() {\r
379 this.setSize(722, 577);\r
380 this.setTitle("Platform Build Options");\r
381 this.setContentPane(getJContentPane());\r
382 }\r
202c4f38 383\r
2e482fb5 384 /**\r
385 * This method initializes jContentPane\r
386 * \r
387 * @return javax.swing.JPanel\r
388 */\r
389 private JPanel getJContentPane() {\r
390 if (jContentPane == null) {\r
391 jContentPane = new JPanel();\r
392 jContentPane.setLayout(new BorderLayout());\r
393 // jContentPane.add(getJPanelContentSouth(), java.awt.BorderLayout.SOUTH);\r
394 // jContentPane.add(getJPanelContentNorth(), java.awt.BorderLayout.NORTH);\r
395 // jContentPane.add(getJPanelContentWest(), java.awt.BorderLayout.WEST);\r
396 // jContentPane.add(getJPanelContentEast(), java.awt.BorderLayout.EAST);\r
397 jContentPane.add(getJTabbedPane(), java.awt.BorderLayout.CENTER);\r
a13899c5 398 }\r
2e482fb5 399 return jContentPane;\r
a13899c5 400 }\r
401\r
cd1fd8f9 402 /**\r
403 * This method initializes jPanelTableOptionsContainer \r
404 * \r
405 * @return javax.swing.JPanel \r
406 */\r
407 private JPanel getJPanelTableOptionsContainer() {\r
408 if (jPanelTableOptionsContainer == null) {\r
409 jLabelTableOptionsTitle = new JLabel();\r
72a4deab 410 jLabelTableOptionsTitle.setText(" Current Argument Lines");\r
cd1fd8f9 411 jPanelTableOptionsContainer = new JPanel();\r
412 jPanelTableOptionsContainer.setLayout(new BorderLayout());\r
413 jPanelTableOptionsContainer.add(jLabelTableOptionsTitle, java.awt.BorderLayout.NORTH);\r
414 jPanelTableOptionsContainer.add(getJScrollPaneOptions(), java.awt.BorderLayout.CENTER);\r
415 }\r
416 return jPanelTableOptionsContainer;\r
417 }\r
418\r
a13899c5 419 /**\r
2e482fb5 420 * @param args\r
a13899c5 421 */\r
2e482fb5 422 public static void main(String[] args) {\r
423 // TODO Auto-generated method stub\r
424 new FpdBuildOptions().setVisible(true);\r
a13899c5 425 }\r
426\r
427 /**\r
2e482fb5 428 * This is the default constructor\r
a13899c5 429 */\r
2e482fb5 430 public FpdBuildOptions() {\r
431 super();\r
432 initialize();\r
433 this.setVisible(true);\r
434 }\r
c1dbe93d 435\r
2e482fb5 436 public FpdBuildOptions(PlatformSurfaceAreaDocument.PlatformSurfaceArea fpd) {\r
437 this();\r
438 ffc = new FpdFileContents(fpd);\r
439 init(ffc);\r
440 }\r
441\r
442 public FpdBuildOptions(OpeningPlatformType opt) {\r
443 this(opt.getXmlFpd());\r
444 docConsole = opt;\r
445 }\r
446\r
447 private void init(FpdFileContents ffc) {\r
448 initOptionTable();\r
449 initAntTaskTable();\r
450 initFfsTable();\r
451 this.addInternalFrameListener(new InternalFrameAdapter() {\r
452 public void internalFrameDeactivated(InternalFrameEvent e) {\r
453 if (jTableFfs.isEditing()) {\r
454 jTableFfs.getCellEditor().stopCellEditing();\r
455 }\r
456 if (jTableFfsSection.isEditing()) {\r
457 jTableFfsSection.getCellEditor().stopCellEditing();\r
458 }\r
459 if (jTableAntTasks.isEditing()) {\r
460 jTableAntTasks.getCellEditor().stopCellEditing();\r
461 }\r
462 if (jTableFfsSubSection.isEditing()) {\r
463 jTableFfsSubSection.getCellEditor().stopCellEditing();\r
464 }\r
465 if (jTableFfsAttribs.isEditing()) {\r
466 jTableFfsAttribs.getCellEditor().stopCellEditing();\r
467 }\r
468 if (jTableOptions.isEditing()) {\r
469 jTableOptions.getCellEditor().stopCellEditing();\r
470 }\r
471 }\r
472 });\r
a13899c5 473 }\r
474\r
a13899c5 475 /**\r
2e482fb5 476 * This method initializes jPanel13 \r
a13899c5 477 * \r
2e482fb5 478 * @return javax.swing.JPanel \r
a13899c5 479 */\r
2e482fb5 480 private JPanel getJPanelFfsTab() {\r
481 if (jPanelFfsTab == null) {\r
482 jPanelFfsTab = new JPanel();\r
483 jPanelFfsTab.setLayout(new BorderLayout());\r
484 jPanelFfsTab.add(getJPanelFfsTabCenter(), java.awt.BorderLayout.CENTER);\r
485 jPanelFfsTab.add(getJScrollPaneFfs(), java.awt.BorderLayout.WEST);\r
a13899c5 486 }\r
2e482fb5 487 return jPanelFfsTab;\r
a13899c5 488 }\r
489\r
490 /**\r
2e482fb5 491 * This method initializes jPanel18 \r
a13899c5 492 * \r
2e482fb5 493 * @return javax.swing.JPanel \r
a13899c5 494 */\r
4da2e625 495 private JPanel getJPanelFfsTabCenter() {\r
496 if (jPanelFfsTabCenter == null) {\r
497 jPanelFfsTabCenter = new JPanel();\r
498 jPanelFfsTabCenter.setLayout(new BorderLayout());\r
499 jPanelFfsTabCenter.add(getJPanelFfsTabCenterN(), java.awt.BorderLayout.NORTH);\r
500 jPanelFfsTabCenter.add(getJPanelFfsTabCenterS(), java.awt.BorderLayout.SOUTH);\r
c1dbe93d 501 jPanelFfsTabCenter.add(getJSplitPaneFfsC(), java.awt.BorderLayout.CENTER);\r
a13899c5 502 }\r
4da2e625 503 return jPanelFfsTabCenter;\r
a13899c5 504 }\r
505\r
a13899c5 506 /**\r
507 * This method initializes jPanel15 \r
508 * \r
509 * @return javax.swing.JPanel \r
510 */\r
4da2e625 511 private JPanel getJPanelFfsTabCenterN() {\r
512 if (jPanelFfsTabCenterN == null) {\r
513 jLabelEncapType = new JLabel();\r
514 jLabelEncapType.setText("Encapsulation Type");\r
a13899c5 515 FlowLayout flowLayout5 = new FlowLayout();\r
516 flowLayout5.setAlignment(java.awt.FlowLayout.RIGHT);\r
4da2e625 517 jLabelFfsKey = new JLabel();\r
518 jLabelFfsKey.setText("FFS Key");\r
519 jPanelFfsTabCenterN = new JPanel();\r
520 jPanelFfsTabCenterN.setLayout(flowLayout5);\r
521 jPanelFfsTabCenterN.add(jLabelFfsKey, null);\r
522 jPanelFfsTabCenterN.add(getJTextFieldFfsKey(), null);\r
523 jPanelFfsTabCenterN.add(jLabelEncapType, null);\r
524 jPanelFfsTabCenterN.add(getJTextFieldEncapType(), null);\r
525 jPanelFfsTabCenterN.add(getJButtonFfsAdd(), null);\r
526 jPanelFfsTabCenterN.add(getJButtonFfsDel(), null);\r
a13899c5 527 }\r
4da2e625 528 return jPanelFfsTabCenterN;\r
a13899c5 529 }\r
530\r
531 /**\r
532 * This method initializes jPanel16 \r
533 * \r
534 * @return javax.swing.JPanel \r
535 */\r
4da2e625 536 private JPanel getJPanelFfsTabCenterS() {\r
537 if (jPanelFfsTabCenterS == null) {\r
538 jLabelFfsAttribs = new JLabel();\r
539 jLabelFfsAttribs.setText("Attributes");\r
a13899c5 540 FlowLayout flowLayout6 = new FlowLayout();\r
541 flowLayout6.setHgap(5);\r
6cba26e8 542 flowLayout6.setVgap(20);\r
543 flowLayout6.setAlignment(java.awt.FlowLayout.CENTER);\r
4da2e625 544 jPanelFfsTabCenterS = new JPanel();\r
2e482fb5 545 jPanelFfsTabCenterS.setPreferredSize(new java.awt.Dimension(491, 130));\r
4da2e625 546 jPanelFfsTabCenterS.setLayout(flowLayout6);\r
547 jPanelFfsTabCenterS.add(jLabelFfsAttribs, null);\r
548 jPanelFfsTabCenterS.add(getJScrollPaneFfsAttribs(), null);\r
549 jPanelFfsTabCenterS.add(getJPanelFfsAttribButtonGroup(), null);\r
a13899c5 550 }\r
4da2e625 551 return jPanelFfsTabCenterS;\r
a13899c5 552 }\r
553\r
a13899c5 554 /**\r
555 * This method initializes jTextField6 \r
556 * \r
557 * @return javax.swing.JTextField \r
558 */\r
4da2e625 559 private JTextField getJTextFieldFfsKey() {\r
560 if (jTextFieldFfsKey == null) {\r
561 jTextFieldFfsKey = new JTextField();\r
2e482fb5 562 jTextFieldFfsKey.setPreferredSize(new java.awt.Dimension(100, 20));\r
4da2e625 563 jTextFieldFfsKey.setEditable(true);\r
564 jTextFieldFfsKey.addFocusListener(new java.awt.event.FocusAdapter() {\r
3b405e9b 565 public void focusLost(java.awt.event.FocusEvent e) {\r
4da2e625 566 if (jTableFfs.getSelectedRow() < 0) {\r
3b405e9b 567 return;\r
568 }\r
2e482fb5 569 // ffc.updateBuildOptionsFfsKey(jTable.getSelectedRow(), jTextField6.getText());\r
3b405e9b 570 }\r
571 });\r
a13899c5 572 }\r
4da2e625 573 return jTextFieldFfsKey;\r
a13899c5 574 }\r
575\r
576 /**\r
577 * This method initializes jButton8 \r
578 * \r
579 * @return javax.swing.JButton \r
580 */\r
4da2e625 581 private JButton getJButtonFfsAdd() {\r
582 if (jButtonFfsAdd == null) {\r
583 jButtonFfsAdd = new JButton();\r
2e482fb5 584 jButtonFfsAdd.setPreferredSize(new java.awt.Dimension(70, 20));\r
4da2e625 585 jButtonFfsAdd.setText("Add");\r
586 jButtonFfsAdd.addActionListener(new AbstractAction() {\r
44053733 587 /**\r
588 * \r
589 */\r
590 private static final long serialVersionUID = -2923720717273384221L;\r
591\r
a13899c5 592 public void actionPerformed(java.awt.event.ActionEvent e) {\r
4da2e625 593 if (jTextFieldFfsKey.getText().length() > 0) {\r
2e482fb5 594 String[] row = { jTextFieldFfsKey.getText() };\r
6cba26e8 595 ffsTableModel.addRow(row);\r
d6d24759 596 docConsole.setSaved(false);\r
4da2e625 597 ffc.genBuildOptionsFfs(jTextFieldFfsKey.getText(), jTextFieldEncapType.getText());\r
a13899c5 598 }\r
599 }\r
600 });\r
601 }\r
4da2e625 602 return jButtonFfsAdd;\r
a13899c5 603 }\r
604\r
605 /**\r
606 * This method initializes jButton9 \r
607 * \r
608 * @return javax.swing.JButton \r
609 */\r
4da2e625 610 private JButton getJButtonFfsDel() {\r
611 if (jButtonFfsDel == null) {\r
612 jButtonFfsDel = new JButton();\r
2e482fb5 613 jButtonFfsDel.setPreferredSize(new java.awt.Dimension(70, 20));\r
4da2e625 614 jButtonFfsDel.setText("Delete");\r
615 jButtonFfsDel.addActionListener(new AbstractAction() {\r
44053733 616 /**\r
617 * \r
618 */\r
619 private static final long serialVersionUID = -4002678939178194476L;\r
620\r
2e482fb5 621 public void actionPerformed(ActionEvent arg0) {\r
4da2e625 622 if (jTableFfs.getSelectedRow() < 0) {\r
6cba26e8 623 return;\r
624 }\r
d6d24759 625 docConsole.setSaved(false);\r
4da2e625 626 ffc.removeBuildOptionsFfs(jTableFfs.getSelectedRow());\r
c1dbe93d 627 ffsTableModel.removeRow(jTableFfs.getSelectedRow());\r
5f480cb5 628 sectionTableModel.setRowCount(0);\r
629 sectionsTableModel.setRowCount(0);\r
630 subsectionsTableModel.setRowCount(0);\r
631 ffsAttributesTableModel.setRowCount(0);\r
a13899c5 632 }\r
633 });\r
634 }\r
4da2e625 635 return jButtonFfsDel;\r
a13899c5 636 }\r
637\r
a13899c5 638 /**\r
639 * This method initializes jScrollPane5 \r
640 * \r
641 * @return javax.swing.JScrollPane \r
642 */\r
4da2e625 643 private JScrollPane getJScrollPaneFfsAttribs() {\r
644 if (jScrollPaneFfsAttribs == null) {\r
645 jScrollPaneFfsAttribs = new JScrollPane();\r
2e482fb5 646 jScrollPaneFfsAttribs.setPreferredSize(new java.awt.Dimension(350, 100));\r
4da2e625 647 jScrollPaneFfsAttribs.setViewportView(getJTableFfsAttribs());\r
a13899c5 648 }\r
4da2e625 649 return jScrollPaneFfsAttribs;\r
a13899c5 650 }\r
651\r
652 /**\r
653 * This method initializes jTable4 \r
654 * \r
655 * @return javax.swing.JTable \r
656 */\r
4da2e625 657 private JTable getJTableFfsAttribs() {\r
658 if (jTableFfsAttribs == null) {\r
a13899c5 659 ffsAttributesTableModel = new DefaultTableModel();\r
4da2e625 660 jTableFfsAttribs = new JTable(ffsAttributesTableModel);\r
2e482fb5 661 jTableFfsAttribs.setPreferredSize(new java.awt.Dimension(400, 80));\r
4da2e625 662 jTableFfsAttribs.setRowHeight(20);\r
a13899c5 663 ffsAttributesTableModel.addColumn("Name");\r
664 ffsAttributesTableModel.addColumn("Value");\r
2e482fb5 665\r
4da2e625 666 jTableFfsAttribs.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
667 jTableFfsAttribs.getModel().addTableModelListener(new TableModelListener() {\r
6cba26e8 668 public void tableChanged(TableModelEvent arg0) {\r
669 // TODO Auto-generated method stub\r
670 int row = arg0.getFirstRow();\r
2e482fb5 671 TableModel m = (TableModel) arg0.getSource();\r
672 if (arg0.getType() == TableModelEvent.UPDATE) {\r
6cba26e8 673 //ToDo Data Validition check.\r
674 String name = m.getValueAt(row, 0) + "";\r
675 String value = m.getValueAt(row, 1) + "";\r
2e482fb5 676\r
6cba26e8 677 if (name.length() == 0) {\r
678 return;\r
679 }\r
2e482fb5 680 if (value.length() == 0) {\r
6cba26e8 681 return;\r
682 }\r
d6d24759 683 docConsole.setSaved(false);\r
4da2e625 684 ffc.updateBuildOptionsFfsAttribute(jTableFfs.getSelectedRow(), row, name, value);\r
6cba26e8 685 }\r
686 }\r
687 });\r
a13899c5 688 }\r
4da2e625 689 return jTableFfsAttribs;\r
a13899c5 690 }\r
691\r
2e482fb5 692 private void initFfsTable() {\r
693 int ffsCount = ffc.getBuildOptionsFfsCount();\r
694 if (ffsCount < 0) {\r
695 return;\r
696 }\r
697 String[][] saa = new String[ffsCount][1];\r
698 ffc.getBuildOptionsFfsKey(saa);\r
699 for (int i = 0; i < saa.length; ++i) {\r
700 ffsTableModel.addRow(saa[i]);\r
4da2e625 701 }\r
a13899c5 702 }\r
703\r
704 /**\r
2e482fb5 705 * This method initializes jButton17 \r
706 * \r
707 * @return javax.swing.JButton \r
a13899c5 708 */\r
2e482fb5 709 private JButton getJButtonFfsAttribNew() {\r
710 if (jButtonFfsAttribNew == null) {\r
711 jButtonFfsAttribNew = new JButton();\r
712 jButtonFfsAttribNew.setPreferredSize(new java.awt.Dimension(80, 20));\r
713 jButtonFfsAttribNew.setText("New");\r
714 jButtonFfsAttribNew.addActionListener(new AbstractAction() {\r
715 /**\r
716 * \r
717 */\r
718 private static final long serialVersionUID = 1L;\r
719\r
720 public void actionPerformed(ActionEvent arg0) {\r
721 if (jTableFfs.getSelectedRow() < 0) {\r
722 return;\r
723 }\r
724 Object[] o = { "", "" };\r
725 ffsAttributesTableModel.addRow(o);\r
726 docConsole.setSaved(false);\r
727 ffc.genBuildOptionsFfsAttribute(jTableFfs.getSelectedRow(), "", "");\r
728 }\r
729 });\r
a13899c5 730 }\r
2e482fb5 731 return jButtonFfsAttribNew;\r
a13899c5 732 }\r
733\r
734 /**\r
2e482fb5 735 * This method initializes jButton18 \r
736 * \r
737 * @return javax.swing.JButton \r
a13899c5 738 */\r
2e482fb5 739 private JButton getJButtonFfsAttribRemove() {\r
740 if (jButtonFfsAttribRemove == null) {\r
741 jButtonFfsAttribRemove = new JButton();\r
742 jButtonFfsAttribRemove.setPreferredSize(new java.awt.Dimension(80, 20));\r
743 jButtonFfsAttribRemove.setText("Remove");\r
744 jButtonFfsAttribRemove.addActionListener(new AbstractAction() {\r
745 /**\r
746 * \r
747 */\r
748 private static final long serialVersionUID = 1L;\r
749\r
750 public void actionPerformed(ActionEvent arg0) {\r
751 if (jTableFfs.getSelectedRow() < 0) {\r
752 return;\r
753 }\r
754 if (jTableFfsAttribs.getSelectedRow() >= 0) {\r
755 docConsole.setSaved(false);\r
756 ffsAttributesTableModel.removeRow(jTableFfsAttribs.getSelectedRow());\r
757 ffc.removeBuildOptionsFfsAttribute(jTableFfs.getSelectedRow(),\r
758 jTableFfsAttribs.getSelectedRow());\r
759 }\r
760 }\r
761 });\r
a13899c5 762 }\r
2e482fb5 763 return jButtonFfsAttribRemove;\r
a13899c5 764 }\r
765\r
766 /**\r
2e482fb5 767 * This method initializes jScrollPane \r
768 * \r
769 * @return javax.swing.JScrollPane \r
a13899c5 770 */\r
2e482fb5 771 private JScrollPane getJScrollPaneFfs() {\r
772 if (jScrollPaneFfs == null) {\r
773 jScrollPaneFfs = new JScrollPane();\r
774 jScrollPaneFfs.setPreferredSize(new java.awt.Dimension(150, 419));\r
775 jScrollPaneFfs.setViewportView(getJTableFfs());\r
a13899c5 776 }\r
2e482fb5 777 return jScrollPaneFfs;\r
a13899c5 778 }\r
779\r
780 /**\r
2e482fb5 781 * This method initializes jTable \r
782 * \r
783 * @return javax.swing.JTable \r
a13899c5 784 */\r
2e482fb5 785 private JTable getJTableFfs() {\r
786 if (jTableFfs == null) {\r
787 ffsTableModel = new DefaultTableModel();\r
788 ffsTableModel.addColumn("FFS Type");\r
789 jTableFfs = new JTable(ffsTableModel);\r
790 jTableFfs.setShowGrid(false);\r
791 jTableFfs.setRowHeight(20);\r
792\r
793 jTableFfs.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
794 jTableFfs.getSelectionModel().addListSelectionListener(new ListSelectionListener() {\r
a13899c5 795 public void valueChanged(ListSelectionEvent e) {\r
2e482fb5 796\r
797 if (e.getValueIsAdjusting()) {\r
a13899c5 798 return;\r
799 }\r
2e482fb5 800 ListSelectionModel lsm = (ListSelectionModel) e.getSource();\r
a13899c5 801 if (lsm.isSelectionEmpty()) {\r
802 return;\r
2e482fb5 803 } else {\r
804 int row = lsm.getMinSelectionIndex();\r
805 sectionTableModel.setRowCount(0);\r
806 sectionsTableModel.setRowCount(0);\r
807 subsectionsTableModel.setRowCount(0);\r
808 ffsAttributesTableModel.setRowCount(0);\r
809 String[] sArray = { "", "" };\r
810 LinkedHashMap<String, String> lhm = new LinkedHashMap<String, String>();\r
811 ArrayList<String> alSections = new ArrayList<String>();\r
812 ArrayList<String> alSection = new ArrayList<String>();\r
813 ffc.getBuildOptionsFfs(row, sArray, lhm, alSections, alSection);\r
814 jTextFieldFfsKey.setText(sArray[0]);\r
815 jTextFieldEncapType.setText(sArray[1]);\r
816 for (int i = 0; i < alSection.size(); ++i) {\r
817 String[] sectionRow = { alSection.get(i) };\r
818 sectionTableModel.addRow(sectionRow);\r
819 }\r
820 for (int j = 0; j < alSections.size(); ++j) {\r
821 String[] sectionsRow = { alSections.get(j) };\r
822 sectionsTableModel.addRow(sectionsRow);\r
823 }\r
824 if (lhm.size() <= 0) {\r
825 return;\r
826 }\r
827 Set<String> keySet = lhm.keySet();\r
828 Iterator<String> is = keySet.iterator();\r
829 while (is.hasNext()) {\r
830 String key = is.next();\r
831 String[] attribRow = { key, lhm.get(key) };\r
832 ffsAttributesTableModel.addRow(attribRow);\r
833 }\r
a13899c5 834 }\r
835 }\r
836 });\r
2e482fb5 837\r
838 jTableFfs.getModel().addTableModelListener(new TableModelListener() {\r
a13899c5 839 public void tableChanged(TableModelEvent arg0) {\r
840 // TODO Auto-generated method stub\r
841 int row = arg0.getFirstRow();\r
2e482fb5 842 TableModel m = (TableModel) arg0.getSource();\r
843 if (arg0.getType() == TableModelEvent.UPDATE) {\r
a13899c5 844 //ToDo Data Validition check.\r
2e482fb5 845 String id = m.getValueAt(row, 0) + "";\r
846\r
847 if (id.length() == 0) {\r
848 return;\r
1800d80f 849 }\r
d6d24759 850 docConsole.setSaved(false);\r
2e482fb5 851 ffc.updateBuildOptionsFfsKey(row, id);\r
a13899c5 852 }\r
853 }\r
854 });\r
855 }\r
2e482fb5 856 return jTableFfs;\r
a13899c5 857 }\r
858\r
859 /**\r
2e482fb5 860 * This method initializes jScrollPane1 \r
861 * \r
862 * @return javax.swing.JScrollPane \r
a13899c5 863 */\r
2e482fb5 864 private JScrollPane getJScrollPaneFfsSection() {\r
865 if (jScrollPaneFfsSection == null) {\r
866 jScrollPaneFfsSection = new JScrollPane();\r
b3151273 867// jScrollPaneFfsSection.setPreferredSize(new java.awt.Dimension(500, 80));\r
2e482fb5 868 jScrollPaneFfsSection.setViewportView(getJTableFfsSection());\r
1800d80f 869 }\r
2e482fb5 870 return jScrollPaneFfsSection;\r
a13899c5 871 }\r
872\r
873 /**\r
2e482fb5 874 * This method initializes jTable1 \r
875 * \r
876 * @return javax.swing.JTable \r
a13899c5 877 */\r
2e482fb5 878 private JTable getJTableFfsSection() {\r
879 if (jTableFfsSection == null) {\r
880 sectionTableModel = new DefaultTableModel();\r
881 sectionTableModel.addColumn("SectionType");\r
44053733 882\r
2e482fb5 883 jTableFfsSection = new JTable(sectionTableModel);\r
884 jTableFfsSection.setRowHeight(20);\r
885 JComboBox cb = new JComboBox();\r
886 cb.addItem("EFI_SECTION_FREEFORM_SUBTYPE_GUID");\r
887 cb.addItem("EFI_SECTION_VERSION");\r
888 cb.addItem("EFI_SECTION_USER_INTERFACE");\r
889 cb.addItem("EFI_SECTION_DXE_DEPEX");\r
890 cb.addItem("EFI_SECTION_PEI_DEPEX");\r
891 cb.addItem("EFI_SECTION_PE32");\r
892 cb.addItem("EFI_SECTION_PIC");\r
893 cb.addItem("EFI_SECTION_TE");\r
894 cb.addItem("EFI_SECTION_RAW");\r
895 cb.addItem("EFI_SECTION_COMPRESSION");\r
896 cb.addItem("EFI_SECTION_GUID_DEFINED");\r
897 cb.addItem("EFI_SECTION_COMPATIBILITY16");\r
898 cb.addItem("EFI_SECTION_FIRMWARE_VOLUME_IMAGE");\r
899 jTableFfsSection.getColumnModel().getColumn(0).setCellEditor(new DefaultCellEditor(cb));\r
900\r
901 jTableFfsSection.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
902\r
903 jTableFfsSection.getModel().addTableModelListener(new TableModelListener() {\r
904 public void tableChanged(TableModelEvent arg0) {\r
905 // TODO Auto-generated method stub\r
906 if (jTableFfs.getSelectedRow() < 0) {\r
907 return;\r
908 }\r
909 int row = arg0.getFirstRow();\r
910 TableModel m = (TableModel) arg0.getSource();\r
911 if (arg0.getType() == TableModelEvent.UPDATE) {\r
912 //ToDo Data Validition check.\r
913 String type = m.getValueAt(row, 0) + "";\r
d6d24759 914 docConsole.setSaved(false);\r
2e482fb5 915 ffc.updateBuildOptionsFfsSectionsSection(jTableFfs.getSelectedRow(), row, type);\r
a13899c5 916 }\r
917 }\r
918 });\r
919 }\r
2e482fb5 920 return jTableFfsSection;\r
a13899c5 921 }\r
922\r
a13899c5 923 /**\r
2e482fb5 924 * This method initializes jScrollPane3 \r
925 * \r
926 * @return javax.swing.JScrollPane \r
a13899c5 927 */\r
2e482fb5 928 private JScrollPane getJScrollPaneFfsSubSection() {\r
929 if (jScrollPaneFfsSubSection == null) {\r
930 jScrollPaneFfsSubSection = new JScrollPane();\r
b3151273 931// jScrollPaneFfsSubSection.setPreferredSize(new java.awt.Dimension(500, 90));\r
2e482fb5 932 jScrollPaneFfsSubSection.setViewportView(getJTableFfsSubSection());\r
a13899c5 933 }\r
2e482fb5 934 return jScrollPaneFfsSubSection;\r
a13899c5 935 }\r
936\r
937 /**\r
2e482fb5 938 * This method initializes jTable3 \r
939 * \r
940 * @return javax.swing.JTable \r
a13899c5 941 */\r
2e482fb5 942 private JTable getJTableFfsSubSection() {\r
943 if (jTableFfsSubSection == null) {\r
944 subsectionsTableModel = new DefaultTableModel();\r
945 subsectionsTableModel.addColumn("SectionType");\r
946 jTableFfsSubSection = new JTable(subsectionsTableModel);\r
947 jTableFfsSubSection.setRowHeight(20);\r
948 JComboBox cb = new JComboBox();\r
949 cb.addItem("EFI_SECTION_FREEFORM_SUBTYPE_GUID");\r
950 cb.addItem("EFI_SECTION_VERSION");\r
951 cb.addItem("EFI_SECTION_USER_INTERFACE");\r
952 cb.addItem("EFI_SECTION_DXE_DEPEX");\r
953 cb.addItem("EFI_SECTION_PEI_DEPEX");\r
954 cb.addItem("EFI_SECTION_PE32");\r
955 cb.addItem("EFI_SECTION_PIC");\r
956 cb.addItem("EFI_SECTION_TE");\r
957 cb.addItem("EFI_SECTION_RAW");\r
958 cb.addItem("EFI_SECTION_COMPRESSION");\r
959 cb.addItem("EFI_SECTION_GUID_DEFINED");\r
960 cb.addItem("EFI_SECTION_COMPATIBILITY16");\r
961 cb.addItem("EFI_SECTION_FIRMWARE_VOLUME_IMAGE");\r
962 jTableFfsSubSection.getColumnModel().getColumn(0).setCellEditor(new DefaultCellEditor(cb));\r
963 jTableFfsSubSection.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
44053733 964\r
2e482fb5 965 jTableFfsSubSection.getModel().addTableModelListener(new TableModelListener() {\r
966 public void tableChanged(TableModelEvent arg0) {\r
967 // TODO Auto-generated method stub\r
968 if (jTableFfs.getSelectedRow() < 0 || jTableFfsSections.getSelectedRow() < 0) {\r
6cba26e8 969 return;\r
970 }\r
2e482fb5 971 int row = arg0.getFirstRow();\r
972 TableModel m = (TableModel) arg0.getSource();\r
973 if (arg0.getType() == TableModelEvent.UPDATE) {\r
974 //ToDo Data Validition check.\r
975 String type = m.getValueAt(row, 0) + "";\r
d6d24759 976 docConsole.setSaved(false);\r
2e482fb5 977 ffc.updateBuildOptionsFfsSectionsSectionsSection(jTableFfs.getSelectedRow(),\r
978 jTableFfsSections.getSelectedRow(), row, type);\r
a13899c5 979 }\r
980 }\r
981 });\r
982 }\r
2e482fb5 983 return jTableFfsSubSection;\r
a13899c5 984 }\r
985\r
a13899c5 986 /**\r
2e482fb5 987 * This method initializes jTextField \r
988 * \r
989 * @return javax.swing.JTextField \r
a13899c5 990 */\r
2e482fb5 991 private JTextField getJTextFieldEncapType() {\r
992 if (jTextFieldEncapType == null) {\r
993 jTextFieldEncapType = new JTextField();\r
994 jTextFieldEncapType.setPreferredSize(new java.awt.Dimension(100, 20));\r
995 jTextFieldEncapType.addFocusListener(new java.awt.event.FocusAdapter() {\r
996 public void focusLost(java.awt.event.FocusEvent e) {\r
997 if (jTableFfs.getSelectedRow() < 0) {\r
998 return;\r
999 }\r
1000 ffc.updateBuildOptionsFfsSectionsType(jTableFfs.getSelectedRow(), jTextFieldEncapType.getText());\r
1001 }\r
1002 });\r
a13899c5 1003 }\r
2e482fb5 1004 return jTextFieldEncapType;\r
a13899c5 1005 }\r
1006\r
1007 /**\r
2e482fb5 1008 * This method initializes jPanel4 \r
1009 * \r
1010 * @return javax.swing.JPanel \r
a13899c5 1011 */\r
2e482fb5 1012 private JPanel getJPanelFfsAttribButtonGroup() {\r
1013 if (jPanelFfsAttribButtonGroup == null) {\r
1014 jPanelFfsAttribButtonGroup = new JPanel();\r
1015 jPanelFfsAttribButtonGroup.setPreferredSize(new java.awt.Dimension(100, 100));\r
1016 jPanelFfsAttribButtonGroup.add(getJButtonFfsAttribNew(), null);\r
1017 jPanelFfsAttribButtonGroup.add(getJButtonFfsAttribRemove(), null);\r
a13899c5 1018 }\r
2e482fb5 1019 return jPanelFfsAttribButtonGroup;\r
a13899c5 1020 }\r
1021\r
1022 /**\r
2e482fb5 1023 * This method initializes jButton \r
1024 * \r
1025 * @return javax.swing.JButton \r
a13899c5 1026 */\r
2e482fb5 1027 private JButton getJButtonFfsSectionNew() {\r
1028 if (jButtonFfsSectionNew == null) {\r
1029 jButtonFfsSectionNew = new JButton();\r
1030 jButtonFfsSectionNew.setPreferredSize(new java.awt.Dimension(80, 20));\r
1031 jButtonFfsSectionNew.setText("New");\r
1032 jButtonFfsSectionNew.addActionListener(new java.awt.event.ActionListener() {\r
1033 public void actionPerformed(java.awt.event.ActionEvent e) {\r
1034 if (jTableFfs.getSelectedRow() < 0) {\r
1035 return;\r
1036 }\r
1037 docConsole.setSaved(false);\r
1038 String[] row = { "EFI_SECTION_RAW" };\r
1039 sectionTableModel.addRow(row);\r
1040 ffc.genBuildOptionsFfsSectionsSection(jTableFfs.getSelectedRow(), row[0]);\r
1041 }\r
1042 });\r
a13899c5 1043 }\r
2e482fb5 1044 return jButtonFfsSectionNew;\r
a13899c5 1045 }\r
1046\r
1047 /**\r
2e482fb5 1048 * This method initializes jButton1 \r
1049 * \r
1050 * @return javax.swing.JButton \r
a13899c5 1051 */\r
2e482fb5 1052 private JButton getJButtonFfsSectionRemove() {\r
1053 if (jButtonFfsSectionRemove == null) {\r
1054 jButtonFfsSectionRemove = new JButton();\r
1055 jButtonFfsSectionRemove.setPreferredSize(new java.awt.Dimension(80, 20));\r
1056 jButtonFfsSectionRemove.setText("Remove");\r
1057\r
1058 jButtonFfsSectionRemove.addActionListener(new java.awt.event.ActionListener() {\r
1059 public void actionPerformed(java.awt.event.ActionEvent e) {\r
1060 if (jTableFfs.getSelectedRow() < 0 || jTableFfsSection.getSelectedRow() < 0) {\r
1061 return;\r
1062 }\r
1063 docConsole.setSaved(false);\r
1064 sectionTableModel.removeRow(jTableFfsSection.getSelectedRow());\r
1065 ffc.removeBuildOptionsFfsSectionsSection(jTableFfs.getSelectedRow(),\r
1066 jTableFfsSection.getSelectedRow());\r
1067 }\r
1068 });\r
a13899c5 1069 }\r
2e482fb5 1070 return jButtonFfsSectionRemove;\r
a13899c5 1071 }\r
1072\r
1073 /**\r
2e482fb5 1074 * This method initializes jButton2 \r
1075 * \r
1076 * @return javax.swing.JButton \r
a13899c5 1077 */\r
2e482fb5 1078 private JButton getJButtonFfsSubSectionNew() {\r
1079 if (jButtonFfsSubSectionNew == null) {\r
1080 jButtonFfsSubSectionNew = new JButton();\r
1081 jButtonFfsSubSectionNew.setPreferredSize(new java.awt.Dimension(80, 20));\r
1082 jButtonFfsSubSectionNew.setText("New");\r
1083 jButtonFfsSubSectionNew.addActionListener(new java.awt.event.ActionListener() {\r
1084 public void actionPerformed(java.awt.event.ActionEvent e) {\r
1085 if (jTableFfs.getSelectedRow() < 0 || jTableFfsSections.getSelectedRow() < 0) {\r
1086 return;\r
1087 }\r
1088 docConsole.setSaved(false);\r
1089 String[] row = { "EFI_SECTION_RAW" };\r
1090 subsectionsTableModel.addRow(row);\r
1091 ffc.genBuildOptionsFfsSectionsSectionsSection(jTableFfs.getSelectedRow(),\r
1092 jTableFfsSections.getSelectedRow(), row[0]);\r
1093\r
1094 }\r
1095 });\r
a13899c5 1096 }\r
2e482fb5 1097 return jButtonFfsSubSectionNew;\r
a13899c5 1098 }\r
1099\r
1100 /**\r
2e482fb5 1101 * This method initializes jButton3 \r
1102 * \r
1103 * @return javax.swing.JButton \r
a13899c5 1104 */\r
2e482fb5 1105 private JButton getJButtonFfsSubSectionRemove() {\r
1106 if (jButtonFfsSubSectionRemove == null) {\r
1107 jButtonFfsSubSectionRemove = new JButton();\r
1108 jButtonFfsSubSectionRemove.setPreferredSize(new java.awt.Dimension(80, 20));\r
1109 jButtonFfsSubSectionRemove.setText("Remove");\r
1110 jButtonFfsSubSectionRemove.addActionListener(new java.awt.event.ActionListener() {\r
1111 public void actionPerformed(java.awt.event.ActionEvent e) {\r
1112 if (jTableFfs.getSelectedRow() < 0 || jTableFfsSections.getSelectedRow() < 0\r
1113 || jTableFfsSubSection.getSelectedRow() < 0) {\r
1114 return;\r
1115 }\r
1116 docConsole.setSaved(false);\r
1117 subsectionsTableModel.removeRow(jTableFfsSubSection.getSelectedRow());\r
1118 ffc.removeBuildOptionsFfsSectionsSectionsSection(jTableFfs.getSelectedRow(),\r
1119 jTableFfsSections.getSelectedRow(),\r
1120 jTableFfsSubSection.getSelectedRow());\r
1121 }\r
1122 });\r
a13899c5 1123 }\r
2e482fb5 1124 return jButtonFfsSubSectionRemove;\r
a13899c5 1125 }\r
1126\r
1127 /**\r
2e482fb5 1128 * This method initializes jButton6 \r
1129 * \r
1130 * @return javax.swing.JButton \r
a13899c5 1131 */\r
2e482fb5 1132 private JButton getJButtonFfsSectionsNew() {\r
1133 if (jButtonFfsSectionsNew == null) {\r
1134 jButtonFfsSectionsNew = new JButton();\r
1135 jButtonFfsSectionsNew.setPreferredSize(new java.awt.Dimension(80, 20));\r
1136 jButtonFfsSectionsNew.setText("New");\r
1137 jButtonFfsSectionsNew.addActionListener(new java.awt.event.ActionListener() {\r
1138 public void actionPerformed(java.awt.event.ActionEvent e) {\r
1139 if (jTableFfs.getSelectedRow() < 0) {\r
1140 return;\r
1141 }\r
1142 docConsole.setSaved(false);\r
1143 String[] row = { "" };\r
1144 sectionsTableModel.addRow(row);\r
1145 ffc.genBuildOptionsFfsSectionsSections(jTableFfs.getSelectedRow(), "");\r
1146 }\r
1147 });\r
a13899c5 1148 }\r
2e482fb5 1149 return jButtonFfsSectionsNew;\r
a13899c5 1150 }\r
1151\r
1152 /**\r
2e482fb5 1153 * This method initializes jButton7 \r
1154 * \r
1155 * @return javax.swing.JButton \r
a13899c5 1156 */\r
2e482fb5 1157 private JButton getJButtonFfsSectionsRemove() {\r
1158 if (jButtonFfsSectionsRemove == null) {\r
1159 jButtonFfsSectionsRemove = new JButton();\r
1160 jButtonFfsSectionsRemove.setPreferredSize(new java.awt.Dimension(80, 20));\r
1161 jButtonFfsSectionsRemove.setText("Remove");\r
1162 jButtonFfsSectionsRemove.addActionListener(new java.awt.event.ActionListener() {\r
1163 public void actionPerformed(java.awt.event.ActionEvent e) {\r
1164 if (jTableFfs.getSelectedRow() < 0 || jTableFfsSections.getSelectedRow() < 0) {\r
1165 return;\r
1166 }\r
1167 docConsole.setSaved(false);\r
1168 sectionsTableModel.removeRow(jTableFfsSections.getSelectedRow());\r
1169 ffc.removeBuildOptionsFfsSectionsSections(jTableFfs.getSelectedRow(),\r
1170 jTableFfsSections.getSelectedRow());\r
5f480cb5 1171 subsectionsTableModel.setRowCount(0);\r
2e482fb5 1172 }\r
1173 });\r
a13899c5 1174 }\r
2e482fb5 1175 return jButtonFfsSectionsRemove;\r
a13899c5 1176 }\r
1177\r
2e482fb5 1178 private JScrollPane getJScrollPaneFfsSections() {\r
1179 if (jScrollPaneFfsSections == null) {\r
1180 jScrollPaneFfsSections = new JScrollPane();\r
b3151273 1181// jScrollPaneFfsSections.setPreferredSize(new java.awt.Dimension(500, 80));\r
2e482fb5 1182 jScrollPaneFfsSections.setViewportView(getJTableFfsSections());\r
44053733 1183 }\r
2e482fb5 1184 return jScrollPaneFfsSections;\r
44053733 1185 }\r
1186\r
1187 /**\r
2e482fb5 1188 * This method initializes jTable6 \r
1189 * \r
1190 * @return javax.swing.JTable \r
44053733 1191 */\r
2e482fb5 1192 private JTable getJTableFfsSections() {\r
1193 if (jTableFfsSections == null) {\r
1194 sectionsTableModel = new DefaultTableModel();\r
1195 sectionsTableModel.addColumn("EncapsulationType");\r
1196 jTableFfsSections = new JTable(sectionsTableModel);\r
1197 jTableFfsSections.setRowHeight(20);\r
1198 jTableFfsSections.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
1199 jTableFfsSections.getSelectionModel().addListSelectionListener(new ListSelectionListener() {\r
6cba26e8 1200 public void valueChanged(ListSelectionEvent e) {\r
2e482fb5 1201 if (e.getValueIsAdjusting()) {\r
6cba26e8 1202 return;\r
1203 }\r
2e482fb5 1204 ListSelectionModel lsm = (ListSelectionModel) e.getSource();\r
6cba26e8 1205 if (lsm.isSelectionEmpty()) {\r
1206 return;\r
2e482fb5 1207 } else {\r
1208 int sectionsRow = lsm.getMinSelectionIndex();\r
1209 if (jTableFfs.getSelectedRow() < 0) {\r
6cba26e8 1210 return;\r
1211 }\r
2e482fb5 1212 subsectionsTableModel.setRowCount(0);\r
1213 ArrayList<String> al = new ArrayList<String>();\r
1214 ffc.getBuildOptionsFfsSectionsSectionsSection(jTableFfs.getSelectedRow(), sectionsRow, al);\r
1215 for (int i = 0; i < al.size(); ++i) {\r
1216 String[] subsectionRow = { al.get(i) };\r
1217 subsectionsTableModel.addRow(subsectionRow);\r
6cba26e8 1218 }\r
1219 }\r
1220 }\r
1221 });\r
2e482fb5 1222\r
1223 jTableFfsSections.getModel().addTableModelListener(new TableModelListener() {\r
6cba26e8 1224 public void tableChanged(TableModelEvent arg0) {\r
1225 // TODO Auto-generated method stub\r
1226 int row = arg0.getFirstRow();\r
2e482fb5 1227 TableModel m = (TableModel) arg0.getSource();\r
1228 if (arg0.getType() == TableModelEvent.UPDATE) {\r
6cba26e8 1229 //ToDo Data Validition check.\r
2e482fb5 1230 String encapType = m.getValueAt(row, 0) + "";\r
d6d24759 1231 docConsole.setSaved(false);\r
2e482fb5 1232 ffc.updateBuildOptionsFfsSectionsSections(jTableFfs.getSelectedRow(), row, encapType);\r
6cba26e8 1233 }\r
1234 }\r
1235 });\r
44053733 1236 }\r
2e482fb5 1237 return jTableFfsSections;\r
44053733 1238 }\r
1239\r
6cba26e8 1240 /**\r
2e482fb5 1241 * This method initializes jSplitPaneFfsC \r
1242 * \r
1243 * @return javax.swing.JSplitPane \r
6cba26e8 1244 */\r
2e482fb5 1245 private JSplitPane getJSplitPaneFfsC() {\r
1246 if (jSplitPaneFfsC == null) {\r
1247 jSplitPaneFfsC = new JSplitPane();\r
1248 jSplitPaneFfsC.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT);\r
1249 jSplitPaneFfsC.setDividerLocation(130);\r
1250 jSplitPaneFfsC.setTopComponent(getJPanelFfsCTop());\r
1251 jSplitPaneFfsC.setBottomComponent(getJSplitPaneFfsCBottom());\r
1252 jSplitPaneFfsC.setDividerSize(5);\r
6cba26e8 1253 }\r
2e482fb5 1254 return jSplitPaneFfsC;\r
6cba26e8 1255 }\r
1256\r
1257 /**\r
2e482fb5 1258 * This method initializes jPanelFfsCTop \r
1259 * \r
1260 * @return javax.swing.JPanel \r
6cba26e8 1261 */\r
2e482fb5 1262 private JPanel getJPanelFfsCTop() {\r
1263 if (jPanelFfsCTop == null) {\r
1264 jPanelFfsCTop = new JPanel();\r
1265 jPanelFfsCTop.setLayout(new BorderLayout());\r
1266 jPanelFfsCTop.add(getJPanelSectionN(), java.awt.BorderLayout.NORTH);\r
a0783edc 1267 jPanelFfsCTop.add(getJScrollPaneFfsSection(), java.awt.BorderLayout.CENTER);\r
6cba26e8 1268 }\r
2e482fb5 1269 return jPanelFfsCTop;\r
6cba26e8 1270 }\r
1271\r
1272 /**\r
2e482fb5 1273 * This method initializes jSplitPaneFfsCBottom \r
1274 * \r
1275 * @return javax.swing.JSplitPane \r
6cba26e8 1276 */\r
2e482fb5 1277 private JSplitPane getJSplitPaneFfsCBottom() {\r
1278 if (jSplitPaneFfsCBottom == null) {\r
1279 jSplitPaneFfsCBottom = new JSplitPane();\r
1280 jSplitPaneFfsCBottom.setDividerSize(5);\r
1281 jSplitPaneFfsCBottom.setDividerLocation(130);\r
1282 jSplitPaneFfsCBottom.setTopComponent(getJPanelFfsCBottomTop());\r
1283 jSplitPaneFfsCBottom.setBottomComponent(getJPanelFfsCBottomBottom());\r
1284 jSplitPaneFfsCBottom.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT);\r
6cba26e8 1285 }\r
2e482fb5 1286 return jSplitPaneFfsCBottom;\r
6cba26e8 1287 }\r
1288\r
1289 /**\r
2e482fb5 1290 * This method initializes jPanelFfsCBottomTop \r
1291 * \r
1292 * @return javax.swing.JPanel \r
6cba26e8 1293 */\r
2e482fb5 1294 private JPanel getJPanelFfsCBottomTop() {\r
1295 if (jPanelFfsCBottomTop == null) {\r
1296 jPanelFfsCBottomTop = new JPanel();\r
1297 jPanelFfsCBottomTop.setLayout(new BorderLayout());\r
1298 jPanelFfsCBottomTop.add(getJPanelSectionsN(), java.awt.BorderLayout.NORTH);\r
a0783edc 1299 jPanelFfsCBottomTop.add(getJScrollPaneFfsSections(), java.awt.BorderLayout.CENTER);\r
6cba26e8 1300 }\r
2e482fb5 1301 return jPanelFfsCBottomTop;\r
6cba26e8 1302 }\r
1303\r
1304 /**\r
2e482fb5 1305 * This method initializes jPanelFfsCBottomBottom \r
1306 * \r
1307 * @return javax.swing.JPanel \r
6cba26e8 1308 */\r
2e482fb5 1309 private JPanel getJPanelFfsCBottomBottom() {\r
1310 if (jPanelFfsCBottomBottom == null) {\r
1311 jPanelFfsCBottomBottom = new JPanel();\r
1312 jPanelFfsCBottomBottom.setLayout(new BorderLayout());\r
1313 jPanelFfsCBottomBottom.add(getJPanelSubSectionN(), java.awt.BorderLayout.NORTH);\r
a0783edc 1314 jPanelFfsCBottomBottom.add(getJScrollPaneFfsSubSection(), java.awt.BorderLayout.CENTER);\r
6cba26e8 1315 }\r
2e482fb5 1316 return jPanelFfsCBottomBottom;\r
6cba26e8 1317 }\r
1318\r
1319 /**\r
2e482fb5 1320 * This method initializes jPanelSectionN \r
1321 * \r
1322 * @return javax.swing.JPanel \r
6cba26e8 1323 */\r
2e482fb5 1324 private JPanel getJPanelSectionN() {\r
1325 if (jPanelSectionN == null) {\r
1326 jPanelSectionN = new JPanel();\r
1327 jLabelFfsSection = new JLabel();\r
1328 jLabelFfsSection.setText("Section");\r
1329 jPanelSectionN.add(jLabelFfsSection, null);\r
1330 jPanelSectionN.add(getJButtonFfsSectionNew(), null);\r
1331 jPanelSectionN.add(getJButtonFfsSectionRemove(), null);\r
6cba26e8 1332 }\r
2e482fb5 1333 return jPanelSectionN;\r
6cba26e8 1334 }\r
1335\r
6cba26e8 1336 /**\r
2e482fb5 1337 * This method initializes jPanelSectionsN \r
1338 * \r
1339 * @return javax.swing.JPanel \r
6cba26e8 1340 */\r
2e482fb5 1341 private JPanel getJPanelSectionsN() {\r
1342 if (jPanelSectionsN == null) {\r
1343 jPanelSectionsN = new JPanel();\r
1344 jLabelFfsSections = new JLabel();\r
1345 jLabelFfsSections.setText("Sections");\r
1346 jPanelSectionsN.add(jLabelFfsSections, null);\r
1347 jPanelSectionsN.add(getJButtonFfsSectionsNew(), null);\r
1348 jPanelSectionsN.add(getJButtonFfsSectionsRemove(), null);\r
6cba26e8 1349 }\r
2e482fb5 1350 return jPanelSectionsN;\r
6cba26e8 1351 }\r
1352\r
6cba26e8 1353 /**\r
2e482fb5 1354 * This method initializes jPanelSubSectionN \r
1355 * \r
1356 * @return javax.swing.JPanel \r
6cba26e8 1357 */\r
2e482fb5 1358 private JPanel getJPanelSubSectionN() {\r
1359 if (jPanelSubSectionN == null) {\r
1360 jPanelSubSectionN = new JPanel();\r
1361 jLabelFfsSubSections = new JLabel();\r
1362 jLabelFfsSubSections.setText("Sub-Sections");\r
1363 jPanelSubSectionN.add(jLabelFfsSubSections, null);\r
1364 jPanelSubSectionN.add(getJButtonFfsSubSectionNew(), null);\r
1365 jPanelSubSectionN.add(getJButtonFfsSubSectionRemove(), null);\r
6cba26e8 1366 }\r
2e482fb5 1367 return jPanelSubSectionN;\r
6cba26e8 1368 }\r
1369\r
6cba26e8 1370 /**\r
2e482fb5 1371 * The following section contains all Build Options content\r
1372 */\r
1373\r
1374 /**\r
1375 * This method initializes jPanelOptionsTab\r
6cba26e8 1376 * \r
2e482fb5 1377 * This is the main Options screen\r
1378 * \r
1379 * @return javax.swing.JPanel jPanelOptionsTab\r
6cba26e8 1380 */\r
2e482fb5 1381 private JPanel getJPanelOptionsTab() {\r
1382 if (jPanelOptionsTab == null) {\r
1383 // This container holds the Options Tab content\r
1384\r
1385 // FlowLayout flowLayout9 = new FlowLayout();\r
1386 // flowLayout9.setAlignment(java.awt.FlowLayout.LEFT);\r
1387\r
cd1fd8f9 1388 GridLayout gridLayout = new GridLayout();\r
1389 gridLayout.setRows(2);\r
2e482fb5 1390 jPanelOptionsTab = new JPanel();\r
cd1fd8f9 1391 jPanelOptionsTab.setLayout(gridLayout);\r
2e482fb5 1392 jPanelOptionsTab.setBounds(new java.awt.Rectangle(0, 0, dialogWidth * 2, dialogHeight * 3));\r
1393 jPanelOptionsTab.setPreferredSize(new java.awt.Dimension(dialogWidth + 10, (dialogHeight * 3) + 10));\r
1394 jPanelOptionsTab.setAutoscrolls(true);\r
1395 jPanelOptionsTab.setLocation(0, 0);\r
2e482fb5 1396 jPanelOptionsTab.add(getJPanelOptionsContainer(), null);\r
cd1fd8f9 1397// jPanelOptionsTab.add(getJScrollPaneOptions(), null);\r
1398 jPanelOptionsTab.add(getJPanelTableOptionsContainer(), null);\r
6cba26e8 1399 }\r
2e482fb5 1400 return jPanelOptionsTab;\r
6cba26e8 1401 }\r
1402\r
1403 /**\r
2e482fb5 1404 * This method initializes jPanelOptionsContainer \r
1405 * \r
1406 * @return javax.swing.JPanel \r
6cba26e8 1407 */\r
2e482fb5 1408 private JPanel getJPanelOptionsContainer() {\r
1409 if (jPanelOptionsContainer == null) {\r
1410 jLabelTagName = new JLabel();\r
1411 jLabelTagName.setBounds(new java.awt.Rectangle(labelColumn, rowOne, labelWidth, oneRowHeight));\r
1412 jLabelTagName.setLocation(new java.awt.Point(labelColumn, rowOne));\r
1413 jLabelTagName.setText("Tag Name");\r
1414 jLabelBuildTargets = new JLabel();\r
1415 jLabelBuildTargets.setBounds(new java.awt.Rectangle(labelColumn, rowTwo, labelWidth, oneRowHeight));\r
1416 jLabelBuildTargets.setLocation(new java.awt.Point(labelColumn, rowTwo));\r
1417 jLabelBuildTargets.setText("Build Targets");\r
1418 jLabelToolCmd = new JLabel();\r
1419 jLabelToolCmd.setBounds(new java.awt.Rectangle(labelColumn, rowThree, labelWidth, oneRowHeight));\r
1420 jLabelToolCmd.setLocation(new java.awt.Point(labelColumn, rowThree));\r
1421 jLabelToolCmd.setText("Tool Command");\r
1422 jLabelSupArch = new JLabel();\r
1423 jLabelSupArch.setBounds(new java.awt.Rectangle(labelColumn, rowFour, labelWidth, oneRowHeight));\r
1424 jLabelSupArch.setLocation(new java.awt.Point(labelColumn, rowFour));\r
1425 jLabelSupArch.setText("Supported Architectures");\r
1426 jLabelToolChainFamily = new JLabel();\r
1427 jLabelToolChainFamily.setBounds(new java.awt.Rectangle(labelColumn, rowFive, labelWidth, oneRowHeight));\r
1428 jLabelToolChainFamily.setLocation(new java.awt.Point(labelColumn, rowFive));\r
1429 jLabelToolChainFamily.setText("Tool Chain Family");\r
1430\r
1431 jLabelOptionContents = new JLabel();\r
1432 jLabelOptionContents.setBounds(new java.awt.Rectangle(labelColumn, rowSix, labelWidth, oneRowHeight));\r
1433 jLabelOptionContents.setLocation(new java.awt.Point(labelColumn, rowSix));\r
72a4deab 1434 jLabelOptionContents.setText("Argument Strings");\r
2e482fb5 1435\r
1436 jPanelOptionsContainer = new JPanel();\r
1437\r
1438 jPanelOptionsContainer.setLayout(null);\r
1439 \r
2e482fb5 1440 jPanelOptionsContainer.setPreferredSize(new java.awt.Dimension(dialogWidth, dialogHeight));\r
1441 /*\r
1442 jPanelOptionsContainer\r
1443 .setBorder(javax.swing.BorderFactory\r
1444 .createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));\r
1445*/\r
1446 jPanelOptionsContainer.add(jLabelTagName, null);\r
1447 jPanelOptionsContainer.add(getJTextFieldTagName(), null);\r
1448\r
1449 jPanelOptionsContainer.add(jLabelBuildTargets, null);\r
1450 jPanelOptionsContainer.add(getJTextFieldBuildTargets(), null);\r
1451\r
1452 jPanelOptionsContainer.add(jLabelToolChainFamily, null);\r
1453 jPanelOptionsContainer.add(getJTextFieldToolChainFamily(), null);\r
1454\r
1455 jPanelOptionsContainer.add(jLabelToolCmd, null);\r
1456 jPanelOptionsContainer.add(getJTextFieldToolCmd(), null);\r
1457\r
1458 jPanelOptionsContainer.add(jLabelSupArch, null);\r
1459 jPanelOptionsContainer.add(getArchitectureSelections(), null);\r
1460\r
1461 jPanelOptionsContainer.add(jLabelOptionContents, null);\r
1462 jPanelOptionsContainer.add(getJTextFieldOptionContents(), null);\r
1463\r
1464 jPanelOptionsContainer.add(getJButtonOptionsAdd(), null);\r
1465 jPanelOptionsContainer.add(getJButtonOptionsDel(), null);\r
6cba26e8 1466 }\r
2e482fb5 1467 return jPanelOptionsContainer;\r
6cba26e8 1468 }\r
1469\r
1470 /**\r
2e482fb5 1471 * This method initializes jTextFieldOptionTagName Row 1\r
1472 * \r
1473 * @return javax.swing.JTextField \r
6cba26e8 1474 */\r
2e482fb5 1475 private JTextField getJTextFieldTagName() {\r
1476 if (jTextFieldTagName == null) {\r
1477 jTextFieldTagName = new JTextField();\r
1478 jTextFieldTagName.setBounds(new java.awt.Rectangle(fieldColumn, rowOne, fieldWidth, oneRowHeight));\r
1479 jTextFieldTagName.setPreferredSize(new java.awt.Dimension(fieldWidth, oneRowHeight));\r
1480 jTextFieldTagName.setLocation(new java.awt.Point(fieldColumn, rowOne));\r
6cba26e8 1481 }\r
2e482fb5 1482 return jTextFieldTagName;\r
6cba26e8 1483 }\r
1484\r
af25df16 1485 /**\r
2e482fb5 1486 * This method initializes jTextFieldBuildTargets Row 2 \r
1487 * \r
1488 * @return javax.swing.JTextField jTextFieldBuildTargets\r
af25df16 1489 */\r
2e482fb5 1490 private JTextField getJTextFieldBuildTargets() {\r
1491 if (jTextFieldBuildTargets == null) {\r
1492 jTextFieldBuildTargets = new JTextField();\r
1493 jTextFieldBuildTargets.setBounds(new java.awt.Rectangle(fieldColumn, rowTwo, fieldWidth, oneRowHeight));\r
1494 jTextFieldBuildTargets.setPreferredSize(new java.awt.Dimension(fieldWidth, oneRowHeight));\r
1495 jTextFieldBuildTargets.setLocation(new java.awt.Point(fieldColumn, rowTwo));\r
1496 }\r
1497 return jTextFieldBuildTargets;\r
1498 }\r
af25df16 1499\r
2e482fb5 1500 /**\r
1501 * This method initializes jTextFieldToolCmd Row 3 \r
1502 * \r
1503 * This should be a dropdown box of command codes from tools_def.txt\r
1504 * \r
1505 * @return javax.swing.JTextField jTextFieldToolCmd\r
1506 */\r
1507 private JTextField getJTextFieldToolCmd() {\r
1508 if (jTextFieldToolCmd == null) {\r
1509 jTextFieldToolCmd = new JTextField();\r
1510 jTextFieldToolCmd.setBounds(new java.awt.Rectangle(fieldColumn, rowThree, fieldWidth, oneRowHeight));\r
1511 jTextFieldToolCmd.setPreferredSize(new java.awt.Dimension(fieldWidth, oneRowHeight));\r
1512 jTextFieldToolCmd.setLocation(new java.awt.Point(fieldColumn, rowThree));\r
1513 }\r
1514 return jTextFieldToolCmd;\r
1515 }\r
af25df16 1516\r
2e482fb5 1517 /**\r
1518 * This method initializes jArchitectureSelections Row 4\r
1519 * \r
1520 * @return jArchitectureSelections\r
1521 */\r
1522 private JPanel getArchitectureSelections() {\r
1523 if (jArchitectureSelections == null) {\r
1524 jArchitectureSelections = new JPanel();\r
1525 jArchitectureSelections.setLayout(null);\r
1526 jArchitectureSelections.add(getJCheckBoxIA32(), null);\r
1527 jArchitectureSelections.add(getJCheckBoxX64(), null);\r
1528 jArchitectureSelections.add(getJCheckBoxIpf(), null);\r
1529 jArchitectureSelections.add(getJCheckBoxEBC(), null);\r
1530 jArchitectureSelections.add(getJCheckBoxARM(), null);\r
1531 jArchitectureSelections.add(getJCheckBoxPPC(), null);\r
1532 jArchitectureSelections.setBounds(new java.awt.Rectangle(fieldColumn, rowFour, fieldWidth, oneRowHeight));\r
1533 jArchitectureSelections.setPreferredSize(new java.awt.Dimension(fieldWidth, oneRowHeight));\r
1534 jArchitectureSelections.setLocation(new java.awt.Point(fieldColumn, rowFour));\r
af25df16 1535 }\r
2e482fb5 1536 return jArchitectureSelections;\r
af25df16 1537 }\r
1538\r
1539 /**\r
2e482fb5 1540 * This method initializes jCheckBoxIA32 \r
1541 * \r
1542 * @return javax.swing.JCheckBox jCheckBoxIA32\r
af25df16 1543 */\r
2e482fb5 1544 private JCheckBox getJCheckBoxIA32() {\r
1545 if (jCheckBoxIA32 == null) {\r
1546 jCheckBoxIA32 = new JCheckBox();\r
1547 jCheckBoxIA32.setBounds(new java.awt.Rectangle(0, 0, 55, 20));\r
1548 jCheckBoxIA32.setText("IA32");\r
af25df16 1549 }\r
2e482fb5 1550 return jCheckBoxIA32;\r
af25df16 1551 }\r
1552\r
c1dbe93d 1553 /**\r
2e482fb5 1554 * This method initializes jCheckBoxX64 \r
1555 * \r
1556 * @return javax.swing.JCheckBox jCheckBoxX64\r
c1dbe93d 1557 */\r
2e482fb5 1558 private JCheckBox getJCheckBoxX64() {\r
1559 if (jCheckBoxX64 == null) {\r
1560 jCheckBoxX64 = new JCheckBox();\r
1561 jCheckBoxX64.setText("X64");\r
1562 jCheckBoxX64.setBounds(new java.awt.Rectangle(55, 0, 53, 20));\r
c1dbe93d 1563 }\r
2e482fb5 1564 return jCheckBoxX64;\r
c1dbe93d 1565 }\r
1566\r
1567 /**\r
2e482fb5 1568 * This method initializes jCheckBoxIpf\r
1569 * \r
1570 * @return javax.swing.JCheckBox jCheckBoxIpf\r
c1dbe93d 1571 */\r
2e482fb5 1572 private JCheckBox getJCheckBoxIpf() {\r
1573 if (jCheckBoxIpf == null) {\r
1574 jCheckBoxIpf = new JCheckBox();\r
1575 jCheckBoxIpf.setBounds(new java.awt.Rectangle(108, 0, 52, 20));\r
1576 jCheckBoxIpf.setText("IPF");\r
c1dbe93d 1577 }\r
2e482fb5 1578 return jCheckBoxIpf;\r
c1dbe93d 1579 }\r
1580\r
2e482fb5 1581\r
c1dbe93d 1582 /**\r
2e482fb5 1583 * This method initializes jCheckBoxEBC\r
1584 * \r
1585 * @return javax.swing.JCheckBox jCheckBoxEBC\r
c1dbe93d 1586 */\r
2e482fb5 1587 private JCheckBox getJCheckBoxEBC() {\r
1588 if (jCheckBoxEBC == null) {\r
1589 jCheckBoxEBC = new JCheckBox();\r
1590 jCheckBoxEBC.setBounds(new java.awt.Rectangle(160, 0, 53, 20));\r
1591 jCheckBoxEBC.setText("EBC");\r
c1dbe93d 1592 }\r
2e482fb5 1593 return jCheckBoxEBC;\r
c1dbe93d 1594 }\r
1595\r
1596 /**\r
2e482fb5 1597 * This method initializes jCheckBoxARM\r
1598 * \r
1599 * @return javax.swing.JCheckBox jCheckBoxARM\r
c1dbe93d 1600 */\r
2e482fb5 1601 private JCheckBox getJCheckBoxARM() {\r
1602 if (jCheckBoxARM == null) {\r
1603 jCheckBoxARM = new JCheckBox();\r
1604 jCheckBoxARM.setBounds(new java.awt.Rectangle(213, 0, 54, 20));\r
1605 jCheckBoxARM.setText("ARM");\r
c1dbe93d 1606 }\r
2e482fb5 1607 return jCheckBoxARM;\r
c1dbe93d 1608 }\r
1609\r
1610 /**\r
2e482fb5 1611 * This method initializes jCheckBoxPPC \r
1612 * \r
1613 * @return javax.swing.JCheckBox jCheckBoxPPC\r
c1dbe93d 1614 */\r
2e482fb5 1615 private JCheckBox getJCheckBoxPPC() {\r
1616 if (jCheckBoxPPC == null) {\r
1617 jCheckBoxPPC = new JCheckBox();\r
1618 jCheckBoxPPC.setBounds(new java.awt.Rectangle(267, 0, 53, 20));\r
1619 jCheckBoxPPC.setText("PPC");\r
c1dbe93d 1620 }\r
2e482fb5 1621 return jCheckBoxPPC;\r
c1dbe93d 1622 }\r
1623\r
1624 /**\r
2e482fb5 1625 * This method initializes jTextFieldToolChainFamily Row 5 \r
1626 * \r
1627 * This should be a drop down for MSFT, INTEL, GCC or USER_DEFINED\r
1628 * \r
1629 * @return javax.swing.JTextField \r
c1dbe93d 1630 */\r
2e482fb5 1631 private JTextField getJTextFieldToolChainFamily() {\r
1632 if (jTextFieldToolChainFamily == null) {\r
1633 jTextFieldToolChainFamily = new JTextField();\r
1634 jTextFieldToolChainFamily.setBounds(new java.awt.Rectangle(fieldColumn, rowFive, fieldWidth, oneRowHeight));\r
1635 jTextFieldToolChainFamily.setPreferredSize(new java.awt.Dimension(fieldWidth, oneRowHeight));\r
1636 jTextFieldToolChainFamily.setLocation(new java.awt.Point(fieldColumn, rowFive));\r
c1dbe93d 1637 }\r
2e482fb5 1638 return jTextFieldToolChainFamily;\r
c1dbe93d 1639 }\r
1640\r
1641 /**\r
2e482fb5 1642 * This method initializes jTextFieldOptionContents Row 6\r
1643 * \r
1644 * This is where we should put the checkbox & entry data for the command arguments\r
1645 * \r
1646 * @return javax.swing.JTextField \r
c1dbe93d 1647 */\r
2e482fb5 1648 private JTextField getJTextFieldOptionContents() {\r
1649 if (jTextFieldOptionContents == null) {\r
1650 jTextFieldOptionContents = new JTextField();\r
1651 jTextFieldOptionContents.setPreferredSize(new java.awt.Dimension(fieldWidth, oneRowHeight));\r
1652 jTextFieldOptionContents.setBounds(fieldColumn, rowSix, fieldWidth, oneRowHeight);\r
1653 jTextFieldOptionContents.setLocation(new java.awt.Point(fieldColumn, rowSix));\r
c1dbe93d 1654 }\r
2e482fb5 1655 return jTextFieldOptionContents;\r
c1dbe93d 1656 }\r
1657\r
1658 /**\r
2e482fb5 1659 * This method initializes jButtonOptionsAdd\r
1660 * \r
1661 * Add entry from the top screen to the table\r
1662 * \r
1663 * @return javax.swing.JButton jButtonOptionsAdd\r
c1dbe93d 1664 */\r
2e482fb5 1665 private JButton getJButtonOptionsAdd() {\r
1666 if (jButtonOptionsAdd == null) {\r
1667 jButtonOptionsAdd = new JButton();\r
1668 jButtonOptionsAdd.setText("Add");\r
1669\r
1670 jButtonOptionsAdd.setPreferredSize(new java.awt.Dimension(buttonWidth, oneRowHeight));\r
1671 jButtonOptionsAdd.setBounds(new java.awt.Rectangle(firstButtonLoc, buttonRow, buttonWidth, oneRowHeight)); \r
1672 jButtonOptionsAdd.setLocation(new java.awt.Point(firstButtonLoc, buttonRow));\r
1673 jButtonOptionsAdd.addActionListener(new AbstractAction() {\r
1674 /**\r
1675 * \r
1676 */\r
1677 private static final long serialVersionUID = 1L;\r
1678\r
1679 public void actionPerformed(java.awt.event.ActionEvent e) {\r
1680 boolean[] boolArray = { jCheckBoxIA32.isSelected(), jCheckBoxIpf.isSelected(),\r
1681 jCheckBoxX64.isSelected(), jCheckBoxEBC.isSelected(),\r
1682 jCheckBoxARM.isSelected(), jCheckBoxPPC.isSelected() };\r
1683 String s = boolToList(boolArray);\r
1684 Object[] o = { jTextFieldBuildTargets.getText(), jTextFieldToolChainFamily.getText(), s,\r
1685 jTextFieldToolCmd.getText(), jTextFieldTagName.getText(),\r
1686 jTextFieldOptionContents.getText() };\r
1687 optionsTableModel.addRow(o);\r
1688 docConsole.setSaved(false);\r
1689 ffc.genBuildOptionsOpt(stringToVector(jTextFieldBuildTargets.getText()),\r
1690 jTextFieldToolChainFamily.getText(), jTextFieldTagName.getText(),\r
1691 jTextFieldToolCmd.getText(), stringToVector(s),\r
1692 jTextFieldOptionContents.getText());\r
1693 }\r
1694 });\r
c1dbe93d 1695 }\r
2e482fb5 1696 return jButtonOptionsAdd;\r
c1dbe93d 1697 }\r
1698\r
1699 /**\r
2e482fb5 1700 * This method initializes jButtonOptionsDel \r
1701 * \r
1702 * Remove a line from the table below\r
1703 * \r
1704 * @return javax.swing.JButton jButtonOptionsDel\r
c1dbe93d 1705 */\r
2e482fb5 1706 private JButton getJButtonOptionsDel() {\r
1707 if (jButtonOptionsDel == null) {\r
1708 jButtonOptionsDel = new JButton();\r
1709 jButtonOptionsDel.setText("Delete");\r
1710 jButtonOptionsDel.setPreferredSize(new java.awt.Dimension(buttonWidth, oneRowHeight));\r
1711 jButtonOptionsDel.setBounds(new java.awt.Rectangle(next2LastButtonLoc, buttonRow, buttonWidth, oneRowHeight));\r
1712 jButtonOptionsDel.setLocation(new java.awt.Point(next2LastButtonLoc, buttonRow));\r
1713 jButtonOptionsDel.addActionListener(new AbstractAction() {\r
1714 /**\r
1715 * \r
1716 */\r
1717 private static final long serialVersionUID = 1L;\r
1718\r
1719 public void actionPerformed(java.awt.event.ActionEvent e) {\r
1720 if (selectedRow >= 0) {\r
1721 optionsTableModel.removeRow(selectedRow);\r
1722 docConsole.setSaved(false);\r
1723 ffc.removeBuildOptionsOpt(selectedRow);\r
1724 }\r
1725 }\r
1726 });\r
c1dbe93d 1727 }\r
2e482fb5 1728 return jButtonOptionsDel;\r
c1dbe93d 1729 }\r
1730\r
cd1fd8f9 1731 public void componentResized(ComponentEvent arg0) {\r
1732 int intPreferredWidth = 500;\r
1733 \r
1734 Tools.resizeComponentWidth(this.jScrollPaneOptions, this.getWidth(), intPreferredWidth);\r
1735 \r
1736 }\r
c1dbe93d 1737 /**\r
2e482fb5 1738 * This method initializes jScrollPaneOptions \r
1739 * Contains the Table and is located below the data entry section\r
1740 * @return javax.swing.JScrollPane jScrollPaneOptoins\r
c1dbe93d 1741 */\r
2e482fb5 1742 private JScrollPane getJScrollPaneOptions() {\r
1743 if (jScrollPaneOptions == null) {\r
1744 jScrollPaneOptions = new JScrollPane();\r
2e482fb5 1745 jScrollPaneOptions.setViewportView(getJTableOptions());\r
c1dbe93d 1746 }\r
2e482fb5 1747 return jScrollPaneOptions;\r
c1dbe93d 1748 }\r
1749\r
1750 /**\r
2e482fb5 1751 * This method initializes jTableOptions\r
c1dbe93d 1752 * \r
2e482fb5 1753 * @return javax.swing.JTable jTableOptions\r
c1dbe93d 1754 */\r
2e482fb5 1755 private JTable getJTableOptions() {\r
1756 if (jTableOptions == null) {\r
2e482fb5 1757 \r
1758 optionsTableModel = new DefaultTableModel();\r
1759 jTableOptions = new JTable(optionsTableModel);\r
1760 jTableOptions.setRowHeight(20);\r
1761 optionsTableModel.addColumn("Build Targets");\r
1762 optionsTableModel.addColumn("Tool Chain Family");\r
1763 optionsTableModel.addColumn("Supported Architectures");\r
1764 optionsTableModel.addColumn("Tool Command Code");\r
1765 optionsTableModel.addColumn("TagName");\r
72a4deab 1766 optionsTableModel.addColumn("Arguments");\r
2e482fb5 1767\r
5d7a9b83 1768// javax.swing.table.TableColumn toolFamilyCol = jTableOptions.getColumnModel().getColumn(1);\r
1769// JComboBox cb = new JComboBox();\r
1770// cb.addItem("MSFT");\r
1771// cb.addItem("GCC");\r
1772// cb.addItem("CYGWIN");\r
1773// cb.addItem("INTEL");\r
1774// cb.addItem("USER_DEFINED");\r
1775// toolFamilyCol.setCellEditor(new DefaultCellEditor(cb));\r
2e482fb5 1776 Vector<String> vArch = new Vector<String>();\r
1777 vArch.add("IA32");\r
1778 vArch.add("X64");\r
1779 vArch.add("IPF");\r
1780 vArch.add("EBC");\r
1781 vArch.add("ARM");\r
1782 vArch.add("PPC");\r
1783 jTableOptions.getColumnModel().getColumn(2).setCellEditor(new ListEditor(vArch));\r
98c20797 1784 \r
1785 jTableOptions.getColumnModel().getColumn(5).setCellEditor(new LongTextEditor());\r
1786 \r
2e482fb5 1787 jTableOptions.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
cd1fd8f9 1788 jTableOptions.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);\r
2e482fb5 1789 jTableOptions.getSelectionModel().addListSelectionListener(new ListSelectionListener() {\r
1790 public void valueChanged(ListSelectionEvent e) {\r
1791 selectedRow = -1;\r
1792 if (e.getValueIsAdjusting()) {\r
1793 return;\r
1794 }\r
1795 ListSelectionModel lsm = (ListSelectionModel) e.getSource();\r
1796 if (lsm.isSelectionEmpty()) {\r
1797 return;\r
1798 } else {\r
1799 selectedRow = lsm.getMinSelectionIndex();\r
1800 }\r
1801 }\r
1802 });\r
1803\r
1804 jTableOptions.getModel().addTableModelListener(new TableModelListener() {\r
1805 public void tableChanged(TableModelEvent arg0) {\r
1806 // TODO Auto-generated method stub\r
1807 int row = arg0.getFirstRow();\r
1808 TableModel m = (TableModel) arg0.getSource();\r
1809 if (arg0.getType() == TableModelEvent.UPDATE) {\r
1810 //ToDo Data Validition check.\r
1811 String targets = m.getValueAt(row, 0) + "";\r
1812 Vector<Object> targetName = new Vector<Object>();\r
1813 String[] sArray = targets.split("( )+");\r
1814 for (int i = 0; i < sArray.length; ++i) {\r
1815 targetName.add(sArray[i]);\r
1816 }\r
1817 String toolChain = m.getValueAt(row, 1) + "";\r
1818 String archs = m.getValueAt(row, 2) + "";\r
1819 Vector<Object> supArch = null;\r
1820 if (archs.length() > 0) {\r
1821 supArch = new Vector<Object>();\r
1822 String[] sArray1 = archs.split("( )+");\r
1823 for (int i = 0; i < sArray1.length; ++i) {\r
1824 supArch.add(sArray1[i]);\r
1825 }\r
1826 }\r
1827\r
1828 String toolCmd = m.getValueAt(row, 3) + "";\r
1829 String tagName = m.getValueAt(row, 4) + "";\r
1830 String contents = m.getValueAt(row, 5) + "";\r
1831 docConsole.setSaved(false);\r
1832 ffc.updateBuildOptionsOpt(row, targetName, toolChain, tagName, toolCmd, supArch, contents);\r
1833 }\r
1834 }\r
1835 });\r
1836 }\r
1837 return jTableOptions;\r
1838 }\r
1839\r
1840 private Vector<Object> stringToVector(String s) {\r
1841 String[] sArray = s.split(" ");\r
1842 Vector<Object> v = null;\r
1843 if (s.length() > 0) {\r
1844 v = new Vector<Object>();\r
1845 for (int i = 0; i < sArray.length; ++i) {\r
1846 v.add(sArray[i]);\r
1847 }\r
1848 }\r
1849 return v;\r
1850 }\r
1851\r
1852 private String boolToList(boolean[] bool) {\r
1853 String s = " ";\r
1854 if (bool[0]) {\r
1855 s += "IA32 ";\r
1856 }\r
1857 if (bool[1]) {\r
1858 s += "IPF ";\r
1859 }\r
1860 if (bool[2]) {\r
1861 s += "X64 ";\r
1862 }\r
1863 if (bool[3]) {\r
1864 s += "EBC ";\r
1865 }\r
1866 if (bool[4]) {\r
1867 s += "ARM ";\r
1868 }\r
1869 if (bool[5]) {\r
1870 s += "PPC ";\r
1871 }\r
9babb67e 1872 if (s.equals(" ")) {\r
2e482fb5 1873 s += "IA32";\r
1874 }\r
1875 return s.trim();\r
1876 }\r
1877\r
1878 private void initOptionTable() {\r
1879 if (ffc.getBuildOptionsOptCount() == 0) {\r
1880 //ToDo get default options from *.txt file\r
1881 return;\r
1882 }\r
1883 String[][] saa = new String[ffc.getBuildOptionsOptCount()][6];\r
1884 ffc.getBuildOptionsOpts(saa);\r
1885 for (int i = 0; i < saa.length; ++i) {\r
1886 optionsTableModel.addRow(saa[i]);\r
c1dbe93d 1887 }\r
c1dbe93d 1888 }\r
1889\r
2e482fb5 1890\r
c1dbe93d 1891 /**\r
2e482fb5 1892 * Everything below should pertain to the ANT Task Tab\r
c1dbe93d 1893 */\r
2e482fb5 1894\r
1895 /**\r
1896 * This method initializes jButton12 \r
1897 * \r
1898 * @return javax.swing.JButton \r
1899 */\r
1900 private JButton getJButtonAntTaskFileBrowse() {\r
1901 if (jButtonAntTaskFileBrowse == null) {\r
1902 jButtonAntTaskFileBrowse = new JButton();\r
1903 jButtonAntTaskFileBrowse.setPreferredSize(new Dimension(buttonWidth, oneRowHeight));\r
1904 jButtonAntTaskFileBrowse.setText("Browse");\r
1905 jButtonAntTaskFileBrowse.addActionListener(new AbstractAction() {\r
1906 private static final long serialVersionUID = 1L;\r
1907\r
1908 public void actionPerformed(ActionEvent arg0) {\r
1909 //\r
1910 // Select files from current workspace\r
1911 //\r
1912 String dirPrefix = System.getenv("WORKSPACE");\r
1913 JFileChooser chooser = new JFileChooser(dirPrefix);\r
1914 File theFile = null;\r
1915 String headerDest = null;\r
1916\r
1917 chooser.setMultiSelectionEnabled(false);\r
1918 chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);\r
1919 int retval = chooser.showOpenDialog(frame);\r
1920 if (retval == JFileChooser.APPROVE_OPTION) {\r
1921\r
1922 theFile = chooser.getSelectedFile();\r
1923 String file = theFile.getPath();\r
1924 if (!file.startsWith(dirPrefix)) {\r
1925 JOptionPane.showMessageDialog(frame, "You can only select files in current package!");\r
1926 return;\r
1927 }\r
1928 } else {\r
1929 return;\r
1930 }\r
1931\r
1932 headerDest = theFile.getPath();\r
1933 jTextFieldAntTaskFile.setText(headerDest.substring(dirPrefix.length()).replace('\\', '/'));\r
1934\r
1935 }\r
1936\r
1937 });\r
c1dbe93d 1938 }\r
2e482fb5 1939 return jButtonAntTaskFileBrowse;\r
c1dbe93d 1940 }\r
1941\r
1942 /**\r
1943 * This method initializes jPanelUserDefCenterN \r
1944 * \r
1945 * @return javax.swing.JPanel \r
1946 */\r
1947 private JPanel getJPanelUserDefCenterN() {\r
1948 if (jPanelUserDefCenterN == null) {\r
1949 jPanelUserDefCenterN = new JPanel();\r
1950 jPanelUserDefCenterN.add(jLabelAntCmdOpts, null);\r
1951 jPanelUserDefCenterN.add(getJTextFieldAntCmdOpts(), null);\r
1952 jPanelUserDefCenterN.add(getJButtonAntTaskAdd(), null);\r
1953 jPanelUserDefCenterN.add(getJButtonAntTaskDel(), null);\r
1954 }\r
1955 return jPanelUserDefCenterN;\r
1956 }\r
1957\r
a13899c5 1958 /**\r
2e482fb5 1959 * This method initializes jPanel8 \r
1960 * \r
1961 * @return javax.swing.JPanel \r
a13899c5 1962 */\r
2e482fb5 1963 private JPanel getJPanelUserDef() {\r
1964 if (jPanelUserDef == null) {\r
1965 jPanelUserDef = new JPanel();\r
1966 jPanelUserDef.setLayout(new BorderLayout());\r
1967 jPanelUserDef.add(getJPanelUserDefNorth(), java.awt.BorderLayout.NORTH);\r
1968 jPanelUserDef.add(getJPanelUserDefCenter(), java.awt.BorderLayout.CENTER);\r
1969\r
1970 }\r
1971 return jPanelUserDef;\r
a13899c5 1972 }\r
1973\r
1974 /**\r
2e482fb5 1975 * This method initializes jPanel9 \r
1976 * \r
1977 * @return javax.swing.JPanel \r
a13899c5 1978 */\r
2e482fb5 1979 private JPanel getJPanelUserDefNorth() {\r
1980 if (jPanelUserDefNorth == null) {\r
1981 jLabelAntTaskFile = new JLabel();\r
1982 jLabelAntTaskFile.setText("ANT Task File");\r
1983 jLabelAntTaskFile.setPreferredSize(new java.awt.Dimension(80, 20));\r
1984 FlowLayout flowLayout8 = new FlowLayout();\r
1985 flowLayout8.setAlignment(java.awt.FlowLayout.CENTER);\r
1986 jLabelAntTaskId = new JLabel();\r
1987 jLabelAntTaskId.setText("ID");\r
1988 jPanelUserDefNorth = new JPanel();\r
1989 jPanelUserDefNorth.setLayout(flowLayout8);\r
1990 jPanelUserDefNorth.add(jLabelAntTaskFile, null);\r
1991 jPanelUserDefNorth.add(getJTextFieldAntTaskFile(), null);\r
1992 jPanelUserDefNorth.add(getJButtonAntTaskFileBrowse(), null);\r
1993 jPanelUserDefNorth.add(jLabelAntTaskId, null);\r
1994 jPanelUserDefNorth.add(getJTextFieldAntTaskId(), null);\r
1995 }\r
1996 return jPanelUserDefNorth;\r
a13899c5 1997 }\r
2e482fb5 1998\r
1999 /**\r
2000 * This method initializes jPanel11 \r
2001 * \r
2002 * @return javax.swing.JPanel \r
2003 */\r
2004 private JPanel getJPanelUserDefCenter() {\r
2005 if (jPanelUserDefCenter == null) {\r
2006 jLabelAntCmdOpts = new JLabel();\r
2007 jLabelAntCmdOpts.setText("ANT Command Options");\r
2008 jLabelAntCmdOpts.setPreferredSize(new java.awt.Dimension(131, 20));\r
2009 jPanelUserDefCenter = new JPanel();\r
2010 jPanelUserDefCenter.setLayout(new BorderLayout());\r
2011\r
2012 jPanelUserDefCenter.add(getJPanelUserDefCenterN(), java.awt.BorderLayout.NORTH);\r
a0783edc 2013 jPanelUserDefCenter.add(getJScrollPaneAntTasks(), java.awt.BorderLayout.CENTER);\r
2e482fb5 2014 }\r
2015 return jPanelUserDefCenter;\r
a13899c5 2016 }\r
2e482fb5 2017\r
2018 /**\r
2019 * This method initializes jTextField2 \r
2020 * \r
2021 * @return javax.swing.JTextField \r
2022 */\r
2023 private JTextField getJTextFieldAntTaskFile() {\r
2024 if (jTextFieldAntTaskFile == null) {\r
2025 jTextFieldAntTaskFile = new JTextField();\r
2026 jTextFieldAntTaskFile.setPreferredSize(new java.awt.Dimension(200, 20));\r
2027 }\r
2028 return jTextFieldAntTaskFile;\r
d6d24759 2029 }\r
a13899c5 2030\r
2e482fb5 2031 /**\r
2032 * This method initializes jTextField3 \r
2033 * \r
2034 * @return javax.swing.JTextField \r
2035 */\r
2036 private JTextField getJTextFieldAntTaskId() {\r
2037 if (jTextFieldAntTaskId == null) {\r
2038 jTextFieldAntTaskId = new JTextField();\r
2039 jTextFieldAntTaskId.setPreferredSize(new java.awt.Dimension(100, 20));\r
2040 }\r
2041 return jTextFieldAntTaskId;\r
2042 }\r
2043\r
2044 /**\r
2045 * This method initializes jButton4 \r
2046 * \r
2047 * @return javax.swing.JButton \r
2048 */\r
2049 private JButton getJButtonAntTaskAdd() {\r
2050 if (jButtonAntTaskAdd == null) {\r
2051 jButtonAntTaskAdd = new JButton();\r
2052 jButtonAntTaskAdd.setPreferredSize(new java.awt.Dimension(90, 20));\r
2053 jButtonAntTaskAdd.setText("Add");\r
2054 jButtonAntTaskAdd.addActionListener(new ActionListener() {\r
2055 public void actionPerformed(ActionEvent e) {\r
2056 if (!DataValidation.isInt(jTextFieldAntTaskId.getText())\r
2057 || jTextFieldAntTaskId.getText().length() != 8) {\r
2058 JOptionPane.showMessageDialog(frame, "ID must be an 8-digit integer.");\r
2059 return;\r
2060 }\r
2061 Object[] o = { jTextFieldAntTaskId.getText(), null, null };\r
2062 o[1] = jTextFieldAntTaskFile.getText();\r
2063 o[2] = jTextFieldAntCmdOpts.getText();\r
2064 ffc.genBuildOptionsUserDefAntTask(o[0] + "", o[1] + "", o[2] + "");\r
2065 antTaskTableModel.addRow(o);\r
2066 docConsole.setSaved(false);\r
44053733 2067 }\r
2e482fb5 2068 });\r
2069 }\r
2070 return jButtonAntTaskAdd;\r
2071 }\r
2072\r
2073 /**\r
2074 * This method initializes jButton5 \r
2075 * \r
2076 * @return javax.swing.JButton \r
2077 */\r
2078 private JButton getJButtonAntTaskDel() {\r
2079 if (jButtonAntTaskDel == null) {\r
2080 jButtonAntTaskDel = new JButton();\r
2081 jButtonAntTaskDel.setPreferredSize(new java.awt.Dimension(90, 20));\r
2082 jButtonAntTaskDel.setText("Delete");\r
2083 jButtonAntTaskDel.addActionListener(new ActionListener() {\r
2084 public void actionPerformed(ActionEvent e) {\r
2085 if (selectedRow >= 0) {\r
2086 docConsole.setSaved(false);\r
2087 antTaskTableModel.removeRow(selectedRow);\r
2088 ffc.removeBuildOptionsUserDefAntTask(selectedRow);\r
2089 }\r
44053733 2090 }\r
2e482fb5 2091 });\r
2092 }\r
2093 return jButtonAntTaskDel;\r
a13899c5 2094 }\r
2e482fb5 2095\r
2096 /**\r
2097 * This method initializes jTextField4 \r
2098 * \r
2099 * @return javax.swing.JTextField \r
2100 */\r
2101 private JTextField getJTextFieldAntCmdOpts() {\r
2102 if (jTextFieldAntCmdOpts == null) {\r
2103 jTextFieldAntCmdOpts = new JTextField();\r
2104 jTextFieldAntCmdOpts.setPreferredSize(new java.awt.Dimension(270, 20));\r
2105 jTextFieldAntCmdOpts.setEnabled(true);\r
a13899c5 2106 }\r
2e482fb5 2107 return jTextFieldAntCmdOpts;\r
2108 }\r
2109\r
2110 /**\r
2111 * This method initializes jScrollPane2 \r
2112 * \r
2113 * @return javax.swing.JScrollPane \r
2114 */\r
2115 private JScrollPane getJScrollPaneAntTasks() {\r
2116 if (jScrollPaneAntTasks == null) {\r
2117 jScrollPaneAntTasks = new JScrollPane();\r
2118 jScrollPaneAntTasks.setPreferredSize(new java.awt.Dimension(600, 400));\r
2119 jScrollPaneAntTasks.setViewportView(getJTableAntTasks());\r
a13899c5 2120 }\r
2e482fb5 2121 return jScrollPaneAntTasks;\r
a13899c5 2122 }\r
2e482fb5 2123\r
2124 /**\r
2125 * This method initializes jTable2 \r
2126 * \r
2127 * @return javax.swing.JTable \r
2128 */\r
2129 private JTable getJTableAntTasks() {\r
2130 if (jTableAntTasks == null) {\r
2131 antTaskTableModel = new DefaultTableModel();\r
2132 jTableAntTasks = new JTable(antTaskTableModel);\r
2133 jTableAntTasks.setRowHeight(20);\r
2134 antTaskTableModel.addColumn("ID");\r
2135 antTaskTableModel.addColumn("Filename");\r
2136 antTaskTableModel.addColumn("ANT Command Options");\r
2137\r
2138 jTableAntTasks.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
2139 jTableAntTasks.getSelectionModel().addListSelectionListener(new ListSelectionListener() {\r
2140 public void valueChanged(ListSelectionEvent e) {\r
2141 selectedRow = -1;\r
2142 if (e.getValueIsAdjusting()) {\r
2143 return;\r
2144 }\r
2145 ListSelectionModel lsm = (ListSelectionModel) e.getSource();\r
2146 if (lsm.isSelectionEmpty()) {\r
2147 return;\r
2148 } else {\r
2149 selectedRow = lsm.getMinSelectionIndex();\r
2150 }\r
2151 }\r
2152 });\r
2153\r
2154 jTableAntTasks.getModel().addTableModelListener(new TableModelListener() {\r
2155 public void tableChanged(TableModelEvent arg0) {\r
2156 // TODO Auto-generated method stub\r
2157 int row = arg0.getFirstRow();\r
2158 TableModel m = (TableModel) arg0.getSource();\r
2159 if (arg0.getType() == TableModelEvent.UPDATE) {\r
2160 //ToDo Data Validition check.\r
2161 String id = m.getValueAt(row, 0) + "";\r
2162 String file = m.getValueAt(row, 1) + "";\r
2163 String execOrder = m.getValueAt(row, 2) + "";\r
2164 if (id.length() == 0) {\r
2165 return;\r
2166 }\r
2167 if (file.length() == 0 && execOrder.length() == 0) {\r
2168 return;\r
2169 }\r
2170 if (file.length() == 0) {\r
2171 file = null;\r
2172 }\r
2173 if (execOrder.length() == 0) {\r
2174 execOrder = null;\r
2175 }\r
2176 ffc.updateBuildOptionsUserDefAntTask(row, id, file, execOrder);\r
2177\r
2178 }\r
2179 }\r
2180 });\r
2181 }\r
2182 return jTableAntTasks;\r
2183 }\r
2184\r
a13899c5 2185 private void initAntTaskTable() {\r
2186 if (ffc.getBuildOptionsUserDefAntTaskCount() == 0) {\r
2187 return;\r
2188 }\r
2189 String[][] saa = new String[ffc.getBuildOptionsUserDefAntTaskCount()][3];\r
2190 ffc.getBuildOptionsUserDefAntTasks(saa);\r
2191 for (int i = 0; i < saa.length; ++i) {\r
2192 antTaskTableModel.addRow(saa[i]);\r
2193 }\r
2194 }\r
a13899c5 2195\r
2e482fb5 2196} // @jve:decl-index=0:visual-constraint="10,10"\r