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