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