+++ /dev/null
-/** @file\r
- Java class FpdFvOptions is GUI for FV options in FPD file.\r
- \r
-Copyright (c) 2006, Intel Corporation\r
-All rights reserved. This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution. The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-**/\r
-package org.tianocore.frameworkwizard.platform.ui;\r
-\r
-import java.awt.BorderLayout;\r
-import java.awt.Dimension;\r
-import java.awt.Toolkit;\r
-import java.util.HashMap;\r
-import java.util.Iterator;\r
-import java.util.Set;\r
-\r
-import javax.swing.JPanel;\r
-import javax.swing.JDialog;\r
-import javax.swing.JScrollPane;\r
-import javax.swing.JTable;\r
-import javax.swing.event.TableModelEvent;\r
-import javax.swing.event.TableModelListener;\r
-import javax.swing.table.DefaultTableModel;\r
-import javax.swing.table.TableModel;\r
-import javax.swing.JButton;\r
-\r
-import org.tianocore.frameworkwizard.common.Identifications.OpeningPlatformType;\r
-\r
-/**\r
- * \r
- *\r
- */\r
-public class FpdFvOptions extends JDialog {\r
-\r
- /**\r
- * \r
- */\r
- private static final long serialVersionUID = 1L;\r
- private JPanel jContentPane = null;\r
- private JPanel jPanelN = null;\r
- private JPanel jPanelS = null;\r
- private JPanel jPanelC = null;\r
- private JScrollPane jScrollPaneFvOptions = null;\r
- private JTable jTableFvOptions = null;\r
- private DefaultTableModel tableModel = null;\r
- private String fvName = null;\r
- private FpdFileContents ffc = null;\r
- private OpeningPlatformType docConsole = null;\r
- private JButton jButtonNew = null;\r
- private JButton jButtonDelete = null;\r
-\r
- /**\r
- * This is the default constructor\r
- */\r
- public FpdFvOptions(String name, DefaultTableModel tm, FpdFileContents ffc, OpeningPlatformType dc) {\r
- super();\r
- fvName = name;\r
- this.ffc = ffc;\r
- this.docConsole = dc;\r
- setTableModel(tm);\r
- initOptions();\r
- initialize();\r
- \r
- }\r
-\r
- private void initOptions() {\r
- tableModel.setRowCount(0);\r
- HashMap<String, String> mOpts = new HashMap<String, String>();\r
- ffc.getFvImagesFvImageOptions(fvName, mOpts);\r
- Set<String> sKey = mOpts.keySet();\r
- Iterator<String> iter = sKey.iterator();\r
- while (iter.hasNext()) {\r
- String name = iter.next();\r
- String value = mOpts.get(name);\r
- tableModel.addRow(new String[]{name, value});\r
- }\r
- }\r
- /**\r
- * This method initializes this\r
- * \r
- * @return void\r
- */\r
- private void initialize() {\r
- this.setSize(650, 400);\r
- this.setModal(true);\r
- this.setTitle("FV Options");\r
- this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);\r
- this.setContentPane(getJContentPane());\r
- this.centerWindow();\r
- this.setVisible(true);\r
- }\r
-\r
- /**\r
- * This method initializes jContentPane\r
- * \r
- * @return javax.swing.JPanel\r
- */\r
- private JPanel getJContentPane() {\r
- if (jContentPane == null) {\r
- jContentPane = new JPanel();\r
- jContentPane.setLayout(new BorderLayout());\r
- jContentPane.add(getJPanelN(), java.awt.BorderLayout.NORTH);\r
- jContentPane.add(getJPanelS(), java.awt.BorderLayout.SOUTH);\r
- jContentPane.add(getJPanelC(), java.awt.BorderLayout.CENTER);\r
- }\r
- return jContentPane;\r
- }\r
-\r
- /**\r
- * This method initializes jPanelN \r
- * \r
- * @return javax.swing.JPanel \r
- */\r
- private JPanel getJPanelN() {\r
- if (jPanelN == null) {\r
- jPanelN = new JPanel();\r
- }\r
- return jPanelN;\r
- }\r
-\r
- /**\r
- * This method initializes jPanelS \r
- * \r
- * @return javax.swing.JPanel \r
- */\r
- private JPanel getJPanelS() {\r
- if (jPanelS == null) {\r
- jPanelS = new JPanel();\r
- jPanelS.add(getJButtonNew(), null);\r
- jPanelS.add(getJButtonDelete(), null);\r
- }\r
- return jPanelS;\r
- }\r
-\r
- /**\r
- * This method initializes jPanelC \r
- * \r
- * @return javax.swing.JPanel \r
- */\r
- private JPanel getJPanelC() {\r
- if (jPanelC == null) {\r
- jPanelC = new JPanel();\r
- jPanelC.add(getJScrollPaneFvOptions(), null);\r
- }\r
- return jPanelC;\r
- }\r
-\r
- /**\r
- * This method initializes jScrollPaneFvOptions \r
- * \r
- * @return javax.swing.JScrollPane \r
- */\r
- private JScrollPane getJScrollPaneFvOptions() {\r
- if (jScrollPaneFvOptions == null) {\r
- jScrollPaneFvOptions = new JScrollPane();\r
- jScrollPaneFvOptions.setPreferredSize(new java.awt.Dimension(600,320));\r
- jScrollPaneFvOptions.setViewportView(getJTableFvOptions());\r
- }\r
- return jScrollPaneFvOptions;\r
- }\r
-\r
- /**\r
- * This method initializes jTableFvOptions \r
- * \r
- * @return javax.swing.JTable \r
- */\r
- private JTable getJTableFvOptions() {\r
- if (jTableFvOptions == null) {\r
- jTableFvOptions = new JTable();\r
- jTableFvOptions.setRowHeight(20);\r
- jTableFvOptions.setModel(getTableModel());\r
- \r
- jTableFvOptions.getModel().addTableModelListener(new TableModelListener() {\r
- public void tableChanged(TableModelEvent arg0) {\r
- // TODO Auto-generated method stub\r
- int row = arg0.getFirstRow();\r
-// int col = arg0.getColumn();\r
- TableModel m = (TableModel) arg0.getSource();\r
- \r
- if (arg0.getType() == TableModelEvent.UPDATE) {\r
- if (m.getValueAt(row, 0).equals("")) {\r
- return;\r
- }\r
- ffc.setTypedNamedFvImageNameValue(fvName, "Options", m.getValueAt(row, 0)+"", m.getValueAt(row, 1)+"");\r
- docConsole.setSaved(false);\r
- }\r
- }\r
- });\r
- }\r
- return jTableFvOptions;\r
- }\r
-\r
- protected DefaultTableModel getTableModel() {\r
- return tableModel;\r
- }\r
-\r
- protected void setTableModel(DefaultTableModel tableModel) {\r
- \r
- this.tableModel = tableModel;\r
- \r
- }\r
-\r
- /**\r
- Start the window at the center of screen\r
- \r
- **/\r
- protected void centerWindow(int intWidth, int intHeight) {\r
- Dimension d = Toolkit.getDefaultToolkit().getScreenSize();\r
- this.setLocation((d.width - intWidth) / 2, (d.height - intHeight) / 2);\r
- }\r
-\r
- /**\r
- Start the window at the center of screen\r
- \r
- **/\r
- protected void centerWindow() {\r
- centerWindow(this.getSize().width, this.getSize().height);\r
- }\r
-\r
-/**\r
- * This method initializes jButtonNew \r
- * \r
- * @return javax.swing.JButton \r
- */\r
-private JButton getJButtonNew() {\r
- if (jButtonNew == null) {\r
- jButtonNew = new JButton();\r
- jButtonNew.setPreferredSize(new java.awt.Dimension(80,20));\r
- jButtonNew.setText("New");\r
- jButtonNew.addActionListener(new java.awt.event.ActionListener() {\r
- public void actionPerformed(java.awt.event.ActionEvent e) {\r
- tableModel.addRow(new String[]{"", ""});\r
- }\r
- });\r
- }\r
- return jButtonNew;\r
-}\r
-\r
-/**\r
- * This method initializes jButtonDelete \r
- * \r
- * @return javax.swing.JButton \r
- */\r
-private JButton getJButtonDelete() {\r
- if (jButtonDelete == null) {\r
- jButtonDelete = new JButton();\r
- jButtonDelete.setPreferredSize(new java.awt.Dimension(80,20));\r
- jButtonDelete.setText("Delete");\r
- jButtonDelete.addActionListener(new java.awt.event.ActionListener() {\r
- public void actionPerformed(java.awt.event.ActionEvent e) {\r
- int selectedRow = jTableFvOptions.getSelectedRow();\r
- if (selectedRow < 0) {\r
- return;\r
- }\r
- String optName = tableModel.getValueAt(selectedRow, 0)+"";\r
- if (((FvOptsTableModel)tableModel).getVKeyWords().contains(optName)){\r
- return;\r
- }\r
- if (((FvOptsTableModel)tableModel).getVNonEditableName().contains(optName)){\r
- return;\r
- }\r
- \r
- ffc.removeTypedNamedFvImageNameValue(fvName, "Options", optName);\r
- tableModel.removeRow(selectedRow);\r
- docConsole.setSaved(false);\r
- }\r
- });\r
- }\r
- return jButtonDelete;\r
-}\r
-}\r