]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/ToolChainConfig.java
comment out item type checking temporarily when adding module to fpd file.
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / ToolChainConfig.java
index 8d0055a4033f5c3f2c8358dfad9473d9be42cfb6..8b901cbcb68776a08b9745897f18d7643b487fb7 100644 (file)
@@ -15,6 +15,7 @@
 package org.tianocore.frameworkwizard;\r
 \r
 import java.awt.event.ActionEvent;\r
+import java.awt.event.WindowEvent;\r
 import java.io.File;\r
 import java.io.IOException;\r
 \r
@@ -34,15 +35,15 @@ import javax.swing.table.DefaultTableModel;
 import javax.swing.table.TableModel;\r
 \r
 import org.tianocore.frameworkwizard.common.DataType;\r
+import org.tianocore.frameworkwizard.common.IFileFilter;\r
 import org.tianocore.frameworkwizard.common.Log;\r
 import org.tianocore.frameworkwizard.common.Tools;\r
 import org.tianocore.frameworkwizard.common.Identifications.ToolChainConfigId;\r
 import org.tianocore.frameworkwizard.common.Identifications.ToolChainConfigVector;\r
-import org.tianocore.frameworkwizard.common.ui.IDialog;\r
 import org.tianocore.frameworkwizard.common.ui.IFrame;\r
 import org.tianocore.frameworkwizard.workspace.Workspace;\r
 \r
-public class ToolChainConfig extends IDialog implements ListSelectionListener, TableModelListener{\r
+public class ToolChainConfig extends IFrame implements ListSelectionListener, TableModelListener{\r
 \r
     ///\r
     /// Define Class Members\r
@@ -86,6 +87,10 @@ public class ToolChainConfig extends IDialog implements ListSelectionListener, T
 \r
     private JButton jButtonHelp = null;\r
     \r
+    private static ToolChainConfig tcc = null;\r
+    \r
+    private ToolChainConfigHelp tcch = null;\r
+    \r
     /**\r
      This method initializes jScrollPane       \r
      \r
@@ -109,12 +114,7 @@ public class ToolChainConfig extends IDialog implements ListSelectionListener, T
      **/\r
     private JTable getJTable() {\r
         if (jTable == null) {\r
-//            Vector<String> vTableHeader = new Vector<String>();\r
-//            vTableHeader.addElement("Name");\r
-//            vTableHeader.addElement("Value");\r
-//            \r
             model = new DefaultTableModel();\r
-            //model = new DefaultTableModel(vTableHeader);\r
             jTable = new JTable(model);\r
             jTable.setRowHeight(20);\r
 \r
@@ -260,12 +260,19 @@ public class ToolChainConfig extends IDialog implements ListSelectionListener, T
         // TODO Auto-generated method stub\r
 \r
     }\r
+    \r
+    public static ToolChainConfig getInstance() {\r
+        if (tcc == null) {\r
+            tcc = new ToolChainConfig();\r
+        }\r
+        return tcc;\r
+    }\r
 \r
     /**\r
      * This is the default constructor\r
      */\r
-    public ToolChainConfig(IFrame parentFrame, boolean modal) {\r
-        super(parentFrame, modal);\r
+    public ToolChainConfig() {\r
+        super();\r
         init();\r
     }\r
 \r
@@ -337,13 +344,14 @@ public class ToolChainConfig extends IDialog implements ListSelectionListener, T
      */\r
     public void actionPerformed(ActionEvent arg0) {\r
         if (arg0.getSource() == jButtonClose) {\r
-            this.setVisible(false);\r
-            this.returnType = DataType.RETURN_TYPE_CANCEL;\r
+            this.exit();\r
         }\r
 \r
         if (arg0.getSource() == jButtonOpen) {\r
             JFileChooser fc = new JFileChooser();\r
-            fc.setAcceptAllFileFilterUsed(true);\r
+            fc.setAcceptAllFileFilterUsed(false);\r
+            IFileFilter iff = new IFileFilter(DataType.TEXT_FILE_EXT);\r
+            fc.addChoosableFileFilter(iff);\r
             fc.setCurrentDirectory(new File(toolsDir));\r
 \r
             int result = fc.showOpenDialog(new JPanel());\r
@@ -354,8 +362,8 @@ public class ToolChainConfig extends IDialog implements ListSelectionListener, T
                     currentFile = fc.getSelectedFile().getPath();\r
                     this.setTitle("Tool Chain Configuration" + " [" + currentFile + "]");\r
                 } catch (IOException e) {\r
+                    Log.wrn(this.currentFile + "Read Error", e.getMessage());\r
                     Log.err(this.currentFile + "Read Error", e.getMessage());\r
-                    e.printStackTrace();\r
                     return;\r
                 }\r
                 this.showTable();\r
@@ -364,8 +372,10 @@ public class ToolChainConfig extends IDialog implements ListSelectionListener, T
 \r
         if (arg0.getSource() == jButtonSave) {\r
             JFileChooser fc = new JFileChooser();\r
-            fc.setAcceptAllFileFilterUsed(true);\r
-            fc.setSelectedFile(new File(currentFile));\r
+            fc.setAcceptAllFileFilterUsed(false);\r
+            IFileFilter iff = new IFileFilter(DataType.TEXT_FILE_EXT);\r
+            fc.addChoosableFileFilter(iff);\r
+            fc.setCurrentDirectory(new File(toolsDir));\r
 \r
             int result = fc.showSaveDialog(new JPanel());\r
             if (result == JFileChooser.APPROVE_OPTION) {\r
@@ -373,8 +383,8 @@ public class ToolChainConfig extends IDialog implements ListSelectionListener, T
                 try {\r
                     vtcc.saveFile(currentFile);\r
                 } catch (IOException e) {\r
+                    Log.wrn(this.currentFile + "Write Error", e.getMessage());\r
                     Log.err(this.currentFile + "Write Error", e.getMessage());\r
-                    e.printStackTrace();\r
                     return;\r
                 }\r
             }\r
@@ -400,7 +410,7 @@ public class ToolChainConfig extends IDialog implements ListSelectionListener, T
         }\r
         \r
         if (arg0.getSource() == jButtonHelp) {\r
-            ToolChainConfigHelp tcch = new ToolChainConfigHelp();\r
+            tcch = ToolChainConfigHelp.getInstance();\r
             tcch.setVisible(true);\r
         }\r
     }\r
@@ -442,12 +452,12 @@ public class ToolChainConfig extends IDialog implements ListSelectionListener, T
      **/\r
     private boolean check() {\r
         if (isEmpty(this.jTextFieldName.getText())) {\r
-            Log.err("Add Tool Chain", "Name couldn't be empty!");\r
+            Log.wrn("Add Tool Chain", "Name couldn't be empty!");\r
             return false;\r
         }\r
 \r
         if (isEmpty(this.jTextFieldValue.getText())) {\r
-            Log.err("Add Tool Chain", "Value couldn't be empty");\r
+            Log.wrn("Add Tool Chain", "Value couldn't be empty");\r
             return false;\r
         }\r
         return true;\r
@@ -477,4 +487,21 @@ public class ToolChainConfig extends IDialog implements ListSelectionListener, T
             this.vtcc.getToolChainConfigs(row).setValue(m.getValueAt(row, 1).toString());\r
         }\r
     }\r
+    \r
+    /* (non-Javadoc)\r
+     * @see java.awt.event.WindowListener#windowClosing(java.awt.event.WindowEvent)\r
+     *\r
+     * Override windowClosing to popup warning message to confirm quit\r
+     * \r
+     */\r
+    public void windowClosing(WindowEvent arg0) {\r
+        this.exit();\r
+    }\r
+    \r
+    private void exit() {\r
+        this.setVisible(false);\r
+        if (tcch != null) {\r
+            tcch.dispose();\r
+        }\r
+    }\r
 }\r