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