+++ /dev/null
-/** @file\r
- \r
- The file is used to create, update MbdLibraries of a MBD 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
- **/\r
-package org.tianocore.packaging.module.ui;\r
-\r
-import java.awt.event.ActionEvent;\r
-import java.awt.event.ItemEvent;\r
-import java.awt.event.ItemListener;\r
-import java.util.Vector;\r
-\r
-import javax.swing.JButton;\r
-import javax.swing.JCheckBox;\r
-import javax.swing.JComboBox;\r
-import javax.swing.JLabel;\r
-import javax.swing.JPanel;\r
-import javax.swing.JTextField;\r
-\r
-import org.tianocore.LibrariesDocument;\r
-import org.tianocore.LibraryUsage;\r
-import org.tianocore.SupportedArchitectures;\r
-import org.tianocore.common.DataValidation;\r
-import org.tianocore.common.Log;\r
-import org.tianocore.common.Tools;\r
-import org.tianocore.packaging.common.ui.IDefaultMutableTreeNode;\r
-import org.tianocore.packaging.common.ui.IInternalFrame;\r
-import org.tianocore.packaging.common.ui.StarLabel;\r
-\r
-/**\r
- The class is used to create, update MbdLibraries of a MBD file\r
- It extends IInternalFrame\r
- \r
- @since ModuleEditor 1.0\r
-\r
- **/\r
-public class MbdLibraries extends IInternalFrame implements ItemListener {\r
-\r
- ///\r
- /// Define class Serial Version UID\r
- ///\r
- private static final long serialVersionUID = 8042998899875417568L;\r
-\r
- //\r
- //Define class members\r
- //\r
- private LibrariesDocument.Libraries libraries = null;\r
-\r
- private int location = -1;\r
- \r
- private int intSelectedItemId = 0;\r
-\r
- //\r
- //1 - Add; 2 - Update\r
- //\r
- private int operation = -1;\r
-\r
- private Vector<String> vName = new Vector<String>();\r
-\r
- private Vector<String> vGuid = new Vector<String>();\r
-\r
- private Vector<String> vLibraryClass = new Vector<String>();\r
-\r
- private Vector<String> vClassGuid = new Vector<String>();\r
-\r
- private Vector<String> vVersion = new Vector<String>();\r
-\r
- private Vector<String> vUsage = new Vector<String>();\r
-\r
- private Vector<String> vOverrideID = new Vector<String>();\r
-\r
- private JPanel jContentPane = null;\r
-\r
- private JButton jButtonOk = null;\r
-\r
- private JButton jButtonCancel = null;\r
-\r
- private JLabel jLabelName = null;\r
-\r
- private JTextField jTextFieldFileName = null;\r
-\r
- private JLabel jLabelGuid = null;\r
-\r
- private JTextField jTextFieldGuid = null;\r
-\r
- private JButton jButtonGenerateGuid = null;\r
-\r
- private JComboBox jComboBoxArch = null;\r
-\r
- private JLabel jLabelLibraryClass = null;\r
-\r
- private JTextField jTextFieldLibraryClass = null;\r
-\r
- private JLabel jLabelUsage = null;\r
-\r
- private JLabel jLabelClassGuid = null;\r
-\r
- private JTextField jTextFieldClassGuid = null;\r
-\r
- private JLabel jLabelOverrideID = null;\r
-\r
- private JTextField jTextFieldOverrideID = null;\r
-\r
- private JComboBox jComboBoxUsage = null;\r
-\r
- private StarLabel jStarLabel1 = null;\r
-\r
- private JComboBox jComboBoxFileList = null;\r
-\r
- private JButton jButtonAdd = null;\r
-\r
- private JButton jButtonRemove = null;\r
-\r
- private JButton jButtonUpdate = null;\r
-\r
- private JCheckBox jCheckBoxArch = null;\r
-\r
- private JButton jButtonGenerateGuid2 = null;\r
-\r
- private JLabel jLabelVersion = null;\r
-\r
- private JTextField jTextFieldVersion = null;\r
-\r
- /**\r
- This method initializes jButtonOk \r
- \r
- @return javax.swing.JButton jButtonOk \r
- \r
- **/\r
- private JButton getJButton() {\r
- if (jButtonOk == null) {\r
- jButtonOk = new JButton();\r
- jButtonOk.setText("OK");\r
- jButtonOk.setBounds(new java.awt.Rectangle(290, 240, 90, 20));\r
- jButtonOk.addActionListener(this);\r
- }\r
- return jButtonOk;\r
- }\r
-\r
- /**\r
- *This method initializes jButtonCancel \r
- \r
- @return javax.swing.JButton jButtonCancel\r
- \r
- **/\r
- private JButton getJButtonCancel() {\r
- if (jButtonCancel == null) {\r
- jButtonCancel = new JButton();\r
- jButtonCancel.setText("Cancel");\r
- jButtonCancel.setBounds(new java.awt.Rectangle(390, 240, 90, 20));\r
- jButtonCancel.setPreferredSize(new java.awt.Dimension(90, 20));\r
- jButtonCancel.addActionListener(this);\r
- }\r
- return jButtonCancel;\r
- }\r
-\r
- /**\r
- This method initializes jTextFieldFileName \r
- \r
- @return javax.swing.JTextField jTextFieldFileName\r
- \r
- **/\r
- private JTextField getJTextFieldSourceFilesDirectory() {\r
- if (jTextFieldFileName == null) {\r
- jTextFieldFileName = new JTextField();\r
- jTextFieldFileName.setBounds(new java.awt.Rectangle(160, 10, 320, 20));\r
- }\r
- return jTextFieldFileName;\r
- }\r
-\r
- /**\r
- This method initializes jTextFieldGuid \r
- \r
- @return javax.swing.JTextField jTextFieldGuid\r
- \r
- **/\r
- private JTextField getJTextFieldGuid() {\r
- if (jTextFieldGuid == null) {\r
- jTextFieldGuid = new JTextField();\r
- jTextFieldGuid.setBounds(new java.awt.Rectangle(160, 35, 250, 20));\r
- }\r
- return jTextFieldGuid;\r
- }\r
-\r
- /**\r
- This method initializes jButtonGenerateGuid \r
- \r
- @return javax.swing.JButton jButtonGenerateGuid\r
- \r
- **/\r
- private JButton getJButtonGenerateGuid() {\r
- if (jButtonGenerateGuid == null) {\r
- jButtonGenerateGuid = new JButton();\r
- jButtonGenerateGuid.setBounds(new java.awt.Rectangle(415, 35, 65, 20));\r
- jButtonGenerateGuid.setText("GEN");\r
- jButtonGenerateGuid.addActionListener(this);\r
- }\r
- return jButtonGenerateGuid;\r
- }\r
-\r
- /**\r
- This method initializes jComboBoxArch \r
- \r
- @return javax.swing.JComboBox jComboBoxArch\r
- \r
- **/\r
- private JComboBox getJComboBoxArch() {\r
- if (jComboBoxArch == null) {\r
- jComboBoxArch = new JComboBox();\r
- jComboBoxArch.setBounds(new java.awt.Rectangle(140, 210, 340, 20));\r
- jComboBoxArch.setEnabled(false);\r
- }\r
- return jComboBoxArch;\r
- }\r
-\r
- /**\r
- This method initializes jTextFieldLibraryClass \r
- \r
- @return javax.swing.JTextField jTextFieldLibraryClass\r
- \r
- **/\r
- private JTextField getJTextFieldLibraryClass() {\r
- if (jTextFieldLibraryClass == null) {\r
- jTextFieldLibraryClass = new JTextField();\r
- jTextFieldLibraryClass.setBounds(new java.awt.Rectangle(160, 60, 320, 20));\r
- }\r
- return jTextFieldLibraryClass;\r
- }\r
-\r
- /**\r
- This method initializes jTextFieldClassGuid \r
- \r
- @return javax.swing.JTextField jTextFieldClassGuid\r
- \r
- **/\r
- private JTextField getJTextFieldClassGuid() {\r
- if (jTextFieldClassGuid == null) {\r
- jTextFieldClassGuid = new JTextField();\r
- jTextFieldClassGuid.setBounds(new java.awt.Rectangle(160, 85, 250, 20));\r
- }\r
- return jTextFieldClassGuid;\r
- }\r
-\r
- /**\r
- This method initializes jTextFieldOverrideID \r
- \r
- @return javax.swing.JTextField jTextFieldOverrideID\r
- \r
- **/\r
- private JTextField getJTextFieldOverrideID() {\r
- if (jTextFieldOverrideID == null) {\r
- jTextFieldOverrideID = new JTextField();\r
- jTextFieldOverrideID.setBounds(new java.awt.Rectangle(160, 160, 50, 20));\r
- }\r
- return jTextFieldOverrideID;\r
- }\r
-\r
- /**\r
- This method initializes jComboBoxUsage \r
- \r
- @return javax.swing.JComboBox jComboBoxUsage\r
- \r
- **/\r
- private JComboBox getJComboBoxUsage() {\r
- if (jComboBoxUsage == null) {\r
- jComboBoxUsage = new JComboBox();\r
- jComboBoxUsage.setBounds(new java.awt.Rectangle(160, 135, 320, 20));\r
- }\r
- return jComboBoxUsage;\r
- }\r
-\r
- /**\r
- This method initializes jComboBoxFileList \r
- \r
- @return javax.swing.JComboBox jComboBoxFileList\r
- \r
- **/\r
- private JComboBox getJComboBoxFileList() {\r
- if (jComboBoxFileList == null) {\r
- jComboBoxFileList = new JComboBox();\r
- jComboBoxFileList.setBounds(new java.awt.Rectangle(15, 185, 210, 20));\r
- jComboBoxFileList.addItemListener(this);\r
- jComboBoxFileList.addActionListener(this);\r
- }\r
- return jComboBoxFileList;\r
- }\r
-\r
- /**\r
- This method initializes jButtonAdd \r
- \r
- @return javax.swing.JButton jButtonAdd \r
- \r
- **/\r
- private JButton getJButtonAdd() {\r
- if (jButtonAdd == null) {\r
- jButtonAdd = new JButton();\r
- jButtonAdd.setBounds(new java.awt.Rectangle(230, 185, 80, 20));\r
- jButtonAdd.setText("Add");\r
- jButtonAdd.addActionListener(this);\r
- }\r
- return jButtonAdd;\r
- }\r
-\r
- /**\r
- This method initializes jButtonRemove \r
- \r
- @return javax.swing.JButton jButtonRemove\r
- \r
- **/\r
- private JButton getJButtonRemove() {\r
- if (jButtonRemove == null) {\r
- jButtonRemove = new JButton();\r
- jButtonRemove.setBounds(new java.awt.Rectangle(400, 185, 80, 20));\r
- jButtonRemove.setText("Remove");\r
- jButtonRemove.addActionListener(this);\r
- }\r
- return jButtonRemove;\r
- }\r
-\r
- /**\r
- This method initializes jButtonUpdate \r
- \r
- @return javax.swing.JButton jButtonUpdate\r
- \r
- **/\r
- private JButton getJButtonUpdate() {\r
- if (jButtonUpdate == null) {\r
- jButtonUpdate = new JButton();\r
- jButtonUpdate.setBounds(new java.awt.Rectangle(315, 185, 80, 20));\r
- jButtonUpdate.setText("Update");\r
- jButtonUpdate.addActionListener(this);\r
- }\r
- return jButtonUpdate;\r
- }\r
-\r
- /**\r
- This method initializes jCheckBoxArch \r
- \r
- @return javax.swing.JCheckBox jCheckBoxArch\r
- \r
- **/\r
- private JCheckBox getJCheckBoxArch() {\r
- if (jCheckBoxArch == null) {\r
- jCheckBoxArch = new JCheckBox();\r
- jCheckBoxArch.setBounds(new java.awt.Rectangle(10, 210, 119, 20));\r
- jCheckBoxArch.setText("Specific Arch");\r
- jCheckBoxArch.addActionListener(this);\r
- }\r
- return jCheckBoxArch;\r
- }\r
-\r
- /**\r
- This method initializes jButtonGenerateGuid2 \r
- \r
- @return javax.swing.JButton jButtonGenerateGuid2\r
- \r
- **/\r
- private JButton getJButtonGenerateGuid2() {\r
- if (jButtonGenerateGuid2 == null) {\r
- jButtonGenerateGuid2 = new JButton();\r
- jButtonGenerateGuid2.setBounds(new java.awt.Rectangle(415, 85, 65, 20));\r
- jButtonGenerateGuid2.setText("GEN");\r
- jButtonGenerateGuid2.addActionListener(this);\r
- }\r
- return jButtonGenerateGuid2;\r
- }\r
-\r
- /**\r
- This method initializes jTextFieldVersion \r
- \r
- @return javax.swing.JTextField jTextFieldVersion\r
- \r
- **/\r
- private JTextField getJTextFieldVersion() {\r
- if (jTextFieldVersion == null) {\r
- jTextFieldVersion = new JTextField();\r
- jTextFieldVersion.setBounds(new java.awt.Rectangle(160, 110, 320, 20));\r
- }\r
- return jTextFieldVersion;\r
- }\r
-\r
- public static void main(String[] args) {\r
-\r
- }\r
-\r
- /**\r
- This is the default constructor\r
- \r
- **/\r
- public MbdLibraries() {\r
- super();\r
- init();\r
- this.setVisible(true);\r
- }\r
-\r
- /**\r
- This is the override edit constructor\r
- \r
- @param inLibraries The input LibrariesDocument.Libraries\r
- \r
- **/\r
- public MbdLibraries(LibrariesDocument.Libraries inLibraries) {\r
- super();\r
- init(inLibraries);\r
- this.setVisible(true);\r
- }\r
-\r
- /**\r
- This is the override edit constructor\r
- \r
- @param inLibraries The input LibrariesDocument.Libraries\r
- @param type The input data of node type\r
- @param index The input data of node index\r
- \r
- **/\r
- public MbdLibraries(LibrariesDocument.Libraries inLibraries, int type, int index) {\r
- super();\r
- init(inLibraries);\r
- this.setVisible(true);\r
- }\r
-\r
- /**\r
- This is the override edit constructor\r
- \r
- @param inLibraries The input LibrariesDocument.Libraries\r
- @param type The input data of node type\r
- @param index The input data of node index\r
- @param inOperation The input data of operation type\r
- \r
- **/\r
- public MbdLibraries(LibrariesDocument.Libraries inLibraries, int type, int index, int inOperation) {\r
- super();\r
- init(inLibraries, type, index, inOperation);\r
- this.operation = inOperation;\r
- this.setVisible(true);\r
- }\r
-\r
- /**\r
- This method initializes this\r
- \r
- @param inLibraries LibrariesDocument.Libraries\r
- \r
- **/\r
- private void init(LibrariesDocument.Libraries inLibraries) {\r
- init();\r
- this.setLibraries(inLibraries);\r
- }\r
-\r
- /**\r
- This method initializes this\r
- Fill values to all fields if these values are not empty\r
- \r
- @param inLibraries LibrariesDocument.Libraries\r
- @param type The input data of node type\r
- @param index The input data of node index\r
- @param inOperation The input data of operation type\r
- \r
- **/\r
- private void init(LibrariesDocument.Libraries inLibraries, int type, int index, int inOperation) {\r
- init(inLibraries);\r
- this.location = index;\r
- this.operation = inOperation;\r
-\r
- if (operation == 2) {\r
- this.jCheckBoxArch.setEnabled(false);\r
- this.jComboBoxArch.setEnabled(false);\r
-\r
- if (type == IDefaultMutableTreeNode.LIBRARIES_LIBRARY) {\r
- if (this.libraries.getLibraryList().size() > 0) {\r
- for (int indexI = 0; indexI < this.libraries.getLibraryList().size(); indexI++) {\r
- if (this.libraries.getLibraryArray(indexI).getStringValue() != null) {\r
- vName.addElement(this.libraries.getLibraryArray(indexI).getStringValue());\r
- } else {\r
- vName.addElement("");\r
- }\r
- if (this.libraries.getLibraryArray(indexI).getGuid() != null) {\r
- vGuid.addElement(this.libraries.getLibraryArray(indexI).getGuid());\r
- } else {\r
- vGuid.addElement("");\r
- }\r
- if (this.libraries.getLibraryArray(indexI).getLibraryClass() != null) {\r
- vLibraryClass.addElement(this.libraries.getLibraryArray(indexI).getLibraryClass());\r
- } else {\r
- vLibraryClass.addElement("");\r
- }\r
- if (this.libraries.getLibraryArray(indexI).getClassGuid() != null) {\r
- vClassGuid.addElement(this.libraries.getLibraryArray(indexI).getClassGuid());\r
- } else {\r
- vClassGuid.addElement("");\r
- }\r
- if (this.libraries.getLibraryArray(indexI).getVersion() != null) {\r
- vVersion.addElement(this.libraries.getLibraryArray(indexI).getVersion());\r
- } else {\r
- vVersion.addElement("");\r
- }\r
- if (this.libraries.getLibraryArray(indexI).getUsage() != null) {\r
- vUsage.addElement(this.libraries.getLibraryArray(indexI).getUsage().toString());\r
- } else {\r
- vUsage.addElement("ALWAYS_CONSUMED");\r
- }\r
- vOverrideID.addElement(String.valueOf(this.libraries.getLibraryArray(indexI).getOverrideID()));\r
- jComboBoxFileList.addItem(this.libraries.getLibraryArray(indexI).getStringValue());\r
- }\r
- }\r
- }\r
- if (type == IDefaultMutableTreeNode.LIBRARIES_ARCH_ITEM) {\r
- this.jCheckBoxArch.setSelected(true);\r
- this.jComboBoxArch.setSelectedItem(this.libraries.getArchArray(index).getArchType().toString());\r
- for (int indexI = 0; indexI < this.libraries.getArchArray(index).getLibraryList().size(); indexI++) {\r
- if (this.libraries.getArchArray(index).getLibraryArray(indexI).getStringValue() != null) {\r
- vName.addElement(this.libraries.getArchArray(index).getLibraryArray(indexI).getStringValue());\r
- } else {\r
- vName.addElement("");\r
- }\r
- if (this.libraries.getArchArray(index).getLibraryArray(indexI).getGuid() != null) {\r
- vGuid.addElement(this.libraries.getArchArray(index).getLibraryArray(indexI).getGuid());\r
- } else {\r
- vGuid.addElement("");\r
- }\r
- if (this.libraries.getArchArray(index).getLibraryArray(indexI).getLibraryClass() != null) {\r
- vLibraryClass.addElement(this.libraries.getArchArray(index).getLibraryArray(indexI)\r
- .getLibraryClass());\r
- } else {\r
- vLibraryClass.addElement("");\r
- }\r
- if (this.libraries.getArchArray(index).getLibraryArray(indexI).getClassGuid() != null) {\r
- vClassGuid\r
- .addElement(this.libraries.getArchArray(index).getLibraryArray(indexI).getClassGuid());\r
- } else {\r
- vClassGuid.addElement("");\r
- }\r
- if (this.libraries.getArchArray(index).getLibraryArray(indexI).getVersion() != null) {\r
- vVersion.addElement(this.libraries.getArchArray(index).getLibraryArray(indexI).getVersion());\r
- } else {\r
- vVersion.addElement("");\r
- }\r
- if (this.libraries.getArchArray(index).getLibraryArray(indexI).getUsage() != null) {\r
- vUsage.addElement(this.libraries.getArchArray(index).getLibraryArray(indexI).getUsage()\r
- .toString());\r
- } else {\r
- vUsage.addElement("");\r
- }\r
- vOverrideID.addElement(String.valueOf(this.libraries.getArchArray(index).getLibraryArray(indexI).getOverrideID()));\r
- jComboBoxFileList.addItem(this.libraries.getArchArray(index).getLibraryArray(indexI)\r
- .getStringValue());\r
- }\r
- }\r
- }\r
- }\r
-\r
- /**\r
- This method initializes this\r
- \r
- **/\r
- private void init() {\r
- this.setSize(500, 515);\r
- this.setName("JFrame");\r
- this.setContentPane(getJContentPane());\r
- this.setTitle("Source Files");\r
- initFrame();\r
- this.setViewMode(false);\r
- }\r
-\r
- /**\r
- Disable all components when the mode is view\r
- \r
- @param isView true - The view mode; false - The non-view mode\r
- \r
- **/\r
- public void setViewMode(boolean isView) {\r
- this.jButtonOk.setVisible(false);\r
- this.jButtonCancel.setVisible(false);\r
- if (isView) {\r
- this.jTextFieldFileName.setEnabled(!isView);\r
- this.jTextFieldGuid.setEnabled(!isView);\r
- this.jButtonGenerateGuid.setEnabled(!isView);\r
- this.jComboBoxArch.setEnabled(!isView);\r
- this.jTextFieldLibraryClass.setEnabled(!isView);\r
- this.jTextFieldClassGuid.setEnabled(!isView);\r
- this.jTextFieldOverrideID.setEnabled(!isView);\r
- this.jComboBoxUsage.setEnabled(!isView);\r
- this.jButtonAdd.setEnabled(!isView);\r
- this.jButtonRemove.setEnabled(!isView);\r
- this.jButtonUpdate.setEnabled(!isView);\r
- this.jCheckBoxArch.setEnabled(!isView);\r
- this.jTextFieldVersion.setEnabled(!isView);\r
-\r
- this.jButtonOk.setEnabled(!isView);\r
- this.jButtonCancel.setEnabled(!isView);\r
- this.jButtonGenerateGuid.setEnabled(!isView);\r
- this.jButtonGenerateGuid2.setEnabled(!isView);\r
- }\r
- }\r
-\r
- /**\r
- This method initializes jContentPane\r
- \r
- @return javax.swing.JPanel jContentPane\r
- \r
- **/\r
- private JPanel getJContentPane() {\r
- if (jContentPane == null) {\r
- jLabelVersion = new JLabel();\r
- jLabelVersion.setBounds(new java.awt.Rectangle(15, 110, 140, 20));\r
- jLabelVersion.setText("Version");\r
- jLabelOverrideID = new JLabel();\r
- jLabelOverrideID.setBounds(new java.awt.Rectangle(15, 160, 140, 20));\r
- jLabelOverrideID.setText("Override ID");\r
- jLabelClassGuid = new JLabel();\r
- jLabelClassGuid.setBounds(new java.awt.Rectangle(15, 85, 140, 20));\r
- jLabelClassGuid.setText("Class Guid");\r
- jLabelUsage = new JLabel();\r
- jLabelUsage.setBounds(new java.awt.Rectangle(15, 135, 140, 20));\r
- jLabelUsage.setText("Usage");\r
- jLabelLibraryClass = new JLabel();\r
- jLabelLibraryClass.setBounds(new java.awt.Rectangle(15, 60, 140, 20));\r
- jLabelLibraryClass.setText("Library Class");\r
- jLabelGuid = new JLabel();\r
- jLabelGuid.setBounds(new java.awt.Rectangle(15, 35, 140, 20));\r
- jLabelGuid.setText("Guid");\r
- jLabelName = new JLabel();\r
- jLabelName.setText("Name");\r
- jLabelName.setBounds(new java.awt.Rectangle(15, 10, 140, 20));\r
- jContentPane = new JPanel();\r
- jContentPane.setLayout(null);\r
- jContentPane.add(getJButton(), null);\r
- jContentPane.add(getJButtonCancel(), null);\r
- jContentPane.add(jLabelName, null);\r
- jContentPane.add(getJTextFieldSourceFilesDirectory(), null);\r
- jContentPane.add(jLabelGuid, null);\r
- jContentPane.add(getJTextFieldGuid(), null);\r
- jContentPane.add(getJButtonGenerateGuid(), null);\r
- jContentPane.add(getJComboBoxArch(), null);\r
- jContentPane.add(jLabelLibraryClass, null);\r
- jContentPane.add(getJTextFieldLibraryClass(), null);\r
- jContentPane.add(jLabelUsage, null);\r
- jContentPane.add(jLabelClassGuid, null);\r
- jContentPane.add(getJTextFieldClassGuid(), null);\r
- jContentPane.add(getJButtonGenerateGuid2(), null);\r
- jContentPane.add(jLabelVersion, null);\r
- jContentPane.add(getJTextFieldVersion(), null);\r
- jContentPane.add(jLabelOverrideID, null);\r
- jContentPane.add(getJTextFieldOverrideID(), null);\r
- jContentPane.add(getJComboBoxUsage(), null);\r
-\r
- jStarLabel1 = new StarLabel();\r
- jStarLabel1.setLocation(new java.awt.Point(0, 10));\r
-\r
- jContentPane.add(jStarLabel1, null);\r
- jContentPane.add(getJComboBoxFileList(), null);\r
- jContentPane.add(getJButtonAdd(), null);\r
- jContentPane.add(getJButtonRemove(), null);\r
- jContentPane.add(getJButtonUpdate(), null);\r
- jContentPane.add(getJCheckBoxArch(), null);\r
-\r
- }\r
- return jContentPane;\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)\r
- *\r
- * Override actionPerformed to listen all actions\r
- * \r
- */\r
- public void actionPerformed(ActionEvent arg0) {\r
- if (arg0.getSource() == jButtonOk) {\r
- this.setEdited(true);\r
- this.save();\r
- this.dispose();\r
- }\r
- if (arg0.getSource() == jButtonCancel) {\r
- this.dispose();\r
- }\r
- if (arg0.getSource() == jButtonGenerateGuid) {\r
- jTextFieldGuid.setText(Tools.generateUuidString());\r
- }\r
- if (arg0.getSource() == jButtonGenerateGuid2) {\r
- jTextFieldClassGuid.setText(Tools.generateUuidString());\r
- }\r
- if (arg0.getSource() == jButtonAdd) {\r
- if (!checkAdd()) {\r
- return;\r
- }\r
- addToList();\r
- }\r
- if (arg0.getSource() == jButtonRemove) {\r
- removeFromList();\r
- }\r
- if (arg0.getSource() == jButtonUpdate) {\r
- if (!checkAdd()) {\r
- return;\r
- }\r
- updateForList();\r
- }\r
- if (arg0.getSource() == jCheckBoxArch) {\r
- if (this.jCheckBoxArch.isSelected()) {\r
- this.jComboBoxArch.setEnabled(true);\r
- } else {\r
- this.jComboBoxArch.setEnabled(false);\r
- }\r
- }\r
- }\r
-\r
- /**\r
- Init the items of Usage and Arch\r
- \r
- **/\r
- private void initFrame() {\r
- jComboBoxUsage.addItem("ALWAYS_CONSUMED");\r
- jComboBoxUsage.addItem("SOMETIMES_CONSUMED");\r
- jComboBoxUsage.addItem("ALWAYS_PRODUCED");\r
- jComboBoxUsage.addItem("SOMETIMES_PRODUCED");\r
- jComboBoxUsage.addItem("DEFAULT");\r
- jComboBoxUsage.addItem("PRIVATE");\r
-\r
- jComboBoxArch.addItem("ALL");\r
- jComboBoxArch.addItem("EBC");\r
- jComboBoxArch.addItem("ARM");\r
- jComboBoxArch.addItem("IA32");\r
- jComboBoxArch.addItem("X64");\r
- jComboBoxArch.addItem("IPF");\r
- jComboBoxArch.addItem("PPC");\r
- }\r
-\r
- /**\r
- Add current item to Vector\r
- \r
- **/\r
- private void addToList() {\r
- intSelectedItemId = vName.size();\r
- vName.addElement(this.jTextFieldFileName.getText());\r
- vGuid.addElement(this.jTextFieldGuid.getText());\r
- vLibraryClass.addElement(this.jTextFieldLibraryClass.getText());\r
- vClassGuid.addElement(this.jTextFieldClassGuid.getText());\r
- vVersion.addElement(this.jTextFieldVersion.getText());\r
- vUsage.addElement(this.jComboBoxUsage.getSelectedItem().toString());\r
- vOverrideID.addElement(this.jTextFieldOverrideID.getText());\r
- jComboBoxFileList.addItem(this.jTextFieldFileName.getText());\r
- jComboBoxFileList.setSelectedItem(this.jTextFieldFileName.getText());\r
- \r
- //\r
- // Reset select item index\r
- //\r
- intSelectedItemId = vName.size();\r
- \r
- //\r
- // Reload all fields of selected item\r
- //\r
- reloadFromList();\r
- }\r
-\r
- /**\r
- Remove current item from Vector\r
- \r
- **/\r
- private void removeFromList() {\r
- int intTempIndex = intSelectedItemId;\r
- if (vName.size() < 1) {\r
- return;\r
- }\r
- \r
- jComboBoxFileList.removeItemAt(intSelectedItemId);\r
- \r
- vName.removeElementAt(intTempIndex);\r
- vGuid.removeElementAt(intTempIndex);\r
- vLibraryClass.removeElementAt(intTempIndex);\r
- vClassGuid.removeElementAt(intTempIndex);\r
- vVersion.removeElementAt(intTempIndex);\r
- vUsage.removeElementAt(intTempIndex);\r
- vOverrideID.removeElementAt(intTempIndex);\r
- \r
- //\r
- // Reload all fields of selected item\r
- //\r
- reloadFromList();\r
- }\r
-\r
- /**\r
- Update current item of Vector\r
- \r
- **/\r
- private void updateForList() {\r
- //\r
- // Backup selected item index\r
- //\r
- int intTempIndex = intSelectedItemId;\r
- vName.setElementAt(this.jTextFieldFileName.getText(), intSelectedItemId);\r
- vGuid.setElementAt(this.jTextFieldGuid.getText(), intSelectedItemId);\r
- vLibraryClass.setElementAt(this.jTextFieldLibraryClass.getText(), intSelectedItemId);\r
- vClassGuid.setElementAt(this.jTextFieldClassGuid.getText(), intSelectedItemId);\r
- vVersion.setElementAt(this.jTextFieldVersion.getText(), intSelectedItemId);\r
- vUsage.setElementAt(this.jComboBoxUsage.getSelectedItem().toString(), intSelectedItemId);\r
- vOverrideID.setElementAt(this.jTextFieldOverrideID.getText(), intSelectedItemId);\r
- \r
- jComboBoxFileList.removeAllItems();\r
- for (int index = 0; index < vName.size(); index++) {\r
- jComboBoxFileList.addItem(vName.elementAt(index));\r
- }\r
- \r
- //\r
- // Restore selected item index\r
- //\r
- intSelectedItemId = intTempIndex;\r
- \r
- //\r
- // Reset select item index\r
- //\r
- jComboBoxFileList.setSelectedIndex(intSelectedItemId);\r
- \r
- //\r
- // Reload all fields of selected item\r
- //\r
- reloadFromList();\r
- }\r
-\r
- /**\r
- Refresh all fields' values of selected item of Vector\r
- \r
- **/\r
- private void reloadFromList() {\r
- if (vName.size() > 0) {\r
- //\r
- // Get selected item index\r
- //\r
- intSelectedItemId = jComboBoxFileList.getSelectedIndex();\r
- \r
- this.jTextFieldFileName.setText(vName.elementAt(intSelectedItemId).toString());\r
- this.jComboBoxUsage.setSelectedItem(vUsage.elementAt(intSelectedItemId).toString());\r
- this.jTextFieldGuid.setText(vGuid.elementAt(intSelectedItemId).toString());\r
- this.jTextFieldLibraryClass.setText(vLibraryClass.elementAt(intSelectedItemId).toString());\r
- this.jTextFieldClassGuid.setText(vClassGuid.elementAt(intSelectedItemId).toString());\r
- this.jTextFieldVersion.setText(vVersion.elementAt(intSelectedItemId).toString());\r
- this.jTextFieldOverrideID.setText(vOverrideID.elementAt(intSelectedItemId).toString());\r
- } else {\r
- this.jTextFieldFileName.setText("");\r
- this.jComboBoxUsage.setSelectedIndex(0);\r
- this.jTextFieldGuid.setText("");\r
- this.jTextFieldLibraryClass.setText("");\r
- this.jTextFieldClassGuid.setText("");\r
- this.jTextFieldVersion.setText("");\r
- this.jTextFieldOverrideID.setText("");\r
- }\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see java.awt.event.ItemListener#itemStateChanged(java.awt.event.ItemEvent)\r
- *\r
- * Reflesh the frame when selected item changed \r
- */\r
- public void itemStateChanged(ItemEvent arg0) {\r
- if (arg0.getStateChange() == ItemEvent.SELECTED) {\r
- reloadFromList();\r
- }\r
- }\r
-\r
- /**\r
- Data validation for all fields before save\r
- \r
- @retval true - All datas are valid\r
- @retval false - At least one data is invalid\r
- \r
- **/\r
- public boolean check() {\r
- if (this.jComboBoxFileList.getItemCount() < 1) {\r
- Log.err("Must have one Library at least!");\r
- return false;\r
- }\r
- return true;\r
- }\r
-\r
- /**\r
- Data validation for all fields before add current item to Vector\r
- \r
- @retval true - All datas are valid\r
- @retval false - At least one data is invalid\r
- \r
- **/\r
- public boolean checkAdd() {\r
- //\r
- // Check if all required fields are not empty\r
- //\r
- if (isEmpty(this.jTextFieldFileName.getText())) {\r
- Log.err("File Name couldn't be empty");\r
- return false;\r
- }\r
-\r
- //\r
- // Check if all fields have correct data types \r
- //\r
- if (!DataValidation.isBaseName(this.jTextFieldFileName.getText())) {\r
- Log.err("Incorrect data type for Name");\r
- return false;\r
- }\r
- if (!isEmpty(this.jTextFieldGuid.getText()) && !DataValidation.isGuid(this.jTextFieldGuid.getText())) {\r
- Log.err("Incorrect data type for Guid");\r
- return false;\r
- }\r
- if (!isEmpty(this.jTextFieldLibraryClass.getText())\r
- && !DataValidation.isPath(this.jTextFieldLibraryClass.getText())) {\r
- Log.err("Incorrect data type for Path");\r
- return false;\r
- }\r
- if (!isEmpty(this.jTextFieldClassGuid.getText()) && !DataValidation.isGuid(this.jTextFieldClassGuid.getText())) {\r
- Log.err("Incorrect data type for Guid");\r
- return false;\r
- }\r
- if (!isEmpty(this.jTextFieldOverrideID.getText())\r
- && !DataValidation.isOverrideID(this.jTextFieldOverrideID.getText())) {\r
- Log.err("Incorrect data type for Override ID");\r
- return false;\r
- }\r
-\r
- return true;\r
- }\r
-\r
- /**\r
- Save all components of Mbd Libraries\r
- if exists libraries, set the value directly\r
- if not exists libraries, new an instance first\r
- \r
- **/\r
- public void save() {\r
- try {\r
- if (this.libraries == null) {\r
- libraries = LibrariesDocument.Libraries.Factory.newInstance();\r
- }\r
- //\r
- //Save as file name\r
- //\r
- if (!this.jCheckBoxArch.isSelected()) {\r
- if (this.operation == 2) { //Add new filename\r
- //\r
- //First remove all existed filename\r
- //\r
- if (libraries.getLibraryList().size() > 0) {\r
- for (int index = libraries.getLibraryList().size() - 1; index >= 0; index--) {\r
- libraries.removeLibrary(index);\r
- }\r
- }\r
- }\r
- LibrariesDocument.Libraries.Library library = LibrariesDocument.Libraries.Library.Factory.newInstance();\r
- for (int index = 0; index < vName.size(); index++) {\r
- if (!isEmpty(vName.elementAt(index).toString())) {\r
- library.setStringValue(vName.elementAt(index).toString());\r
- }\r
- if (!isEmpty(vGuid.elementAt(index).toString())) {\r
- library.setGuid(vGuid.elementAt(index).toString());\r
- }\r
- if (!isEmpty(vLibraryClass.elementAt(index).toString())) {\r
- library.setLibraryClass(vLibraryClass.elementAt(index).toString());\r
- }\r
- if (!isEmpty(vClassGuid.elementAt(index).toString())) {\r
- library.setClassGuid(vClassGuid.elementAt(index).toString());\r
- }\r
- if (!isEmpty(vVersion.elementAt(index).toString())) {\r
- library.setVersion(vVersion.elementAt(index).toString());\r
- }\r
- if (!isEmpty(vUsage.elementAt(index).toString())) {\r
- library.setUsage(LibraryUsage.Enum.forString(vUsage.elementAt(index).toString()));\r
- }\r
- if (!isEmpty(vOverrideID.elementAt(index).toString())) {\r
- library.setOverrideID(Integer.parseInt(vOverrideID.elementAt(index).toString()));\r
- }\r
- libraries.addNewLibrary();\r
- libraries.setLibraryArray(libraries.getLibraryList().size() - 1, library);\r
- }\r
- }\r
- //\r
- //Save as Arch\r
- //\r
- if (this.jCheckBoxArch.isSelected()) {\r
- LibrariesDocument.Libraries.Arch arch = LibrariesDocument.Libraries.Arch.Factory.newInstance();\r
- if (this.operation == 2) {\r
- //First remove all existed filename\r
- for (int index = libraries.getArchArray(location).getLibraryList().size() - 1; index >= 0; index--) {\r
- libraries.getArchArray(location).removeLibrary(index);\r
- }\r
- }\r
- for (int index = 0; index < vName.size(); index++) {\r
- LibrariesDocument.Libraries.Arch.Library library = LibrariesDocument.Libraries.Arch.Library.Factory.newInstance();\r
- if (!isEmpty(vName.elementAt(index).toString())) {\r
- library.setStringValue(vName.elementAt(index).toString());\r
- }\r
- if (!isEmpty(vGuid.elementAt(index).toString())) {\r
- library.setGuid(vGuid.elementAt(index).toString());\r
- }\r
- if (!isEmpty(vLibraryClass.elementAt(index).toString())) {\r
- library.setLibraryClass(vLibraryClass.elementAt(index).toString());\r
- }\r
- if (!isEmpty(vClassGuid.elementAt(index).toString())) {\r
- library.setClassGuid(vClassGuid.elementAt(index).toString());\r
- }\r
- if (!isEmpty(vVersion.elementAt(index).toString())) {\r
- library.setVersion(vVersion.elementAt(index).toString());\r
- }\r
- if (!isEmpty(vUsage.elementAt(index).toString())) {\r
- library.setUsage(LibraryUsage.Enum.forString(vUsage.elementAt(index).toString()));\r
- }\r
- if (!isEmpty(vOverrideID.elementAt(index).toString())) {\r
- library.setOverrideID(Integer.parseInt(vOverrideID.elementAt(index).toString()));\r
- }\r
- arch.addNewLibrary();\r
- arch.setLibraryArray(arch.getLibraryList().size() - 1, library);\r
- }\r
- arch\r
- .setArchType(SupportedArchitectures.Enum.forString(this.jComboBoxArch.getSelectedItem().toString()));\r
- if (location > -1) {\r
- libraries.setArchArray(location, arch);\r
- } else {\r
- libraries.addNewArch();\r
- libraries.setArchArray(libraries.getArchList().size() - 1, arch);\r
- }\r
- }\r
- } catch (Exception e) {\r
- Log.err("Update Source Files", e.getMessage());\r
- }\r
- }\r
-\r
- /**\r
- Get LibrariesDocument.Libraries\r
- \r
- @return LibrariesDocument.Libraries\r
- \r
- **/\r
- public LibrariesDocument.Libraries getLibraries() {\r
- return libraries;\r
- }\r
-\r
- /**\r
- Set LibrariesDocument.Libraries\r
- \r
- @param libraries The input LibrariesDocument.Libraries\r
- \r
- **/\r
- public void setLibraries(LibrariesDocument.Libraries libraries) {\r
- this.libraries = libraries;\r
- }\r
-}\r