]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/MigrationTools/org/tianocore/migration/MsaTreeEditor.java
Changed spelling to manifest
[mirror_edk2.git] / Tools / Source / MigrationTools / org / tianocore / migration / MsaTreeEditor.java
index 7bdf0281199ca2c57c6b25fcbab17bc79b62106b..29dfd885345418ace5515d1d312c5c049b6f297a 100644 (file)
@@ -4,19 +4,23 @@ import java.awt.*;
 import java.awt.event.*;\r
 import javax.swing.*;\r
 import javax.swing.tree.*;\r
+import javax.xml.parsers.*;\r
+import org.w3c.dom.*;\r
 \r
 public class MsaTreeEditor extends JPanel {\r
-       /**\r
-        *  Define class Serial Version UID\r
-        */\r
-       private static final long serialVersionUID = 3169905938472150649L;\r
+    /**\r
+     *  Define class Serial Version UID\r
+     */\r
+    private static final long serialVersionUID = 3169905938472150649L;\r
+    \r
+    private \r
 /*\r
-       MsaTreeEditor(ModuleInfo m, UI u, ModuleSurfaceAreaDocument md) {\r
-               mi = m;\r
-               ui = u;\r
-               msadoc = md;\r
-               \r
-               //rootNode = msadoc.getDomNode();\r
+    MsaTreeEditor(ModuleInfo m, UI u, ModuleSurfaceAreaDocument md) {\r
+        mi = m;\r
+        ui = u;\r
+        msadoc = md;\r
+        \r
+        //rootNode = msadoc.getDomNode();\r
         rootNode = new DefaultMutableTreeNode("Root Node");\r
         treeModel = new DefaultTreeModel(rootNode);\r
 \r
@@ -39,12 +43,9 @@ public class MsaTreeEditor extends JPanel {
         \r
         addNode(rootNode, "1st");\r
         addNode(rootNode, "2nd");\r
-       }\r
+    }\r
 */\r
-       MsaTreeEditor(ModuleInfo m, UI u) {\r
-               mi = m;\r
-               ui = u;\r
-               \r
+    MsaTreeEditor() throws Exception {\r
         rootNode = new DefaultMutableTreeNode("Root Node");\r
         treeModel = new DefaultTreeModel(rootNode);\r
 \r
@@ -55,78 +56,106 @@ public class MsaTreeEditor extends JPanel {
         tree.addMouseListener(mouseadapter);\r
 \r
         JScrollPane scrollPane = new JScrollPane(tree);\r
+        //scrollPane.setSize(800, 600);\r
         add(scrollPane);\r
         \r
         popupmenu = new JPopupMenu();\r
-        menuitemadd = new JMenuItem("addNode");\r
-        menuitemdel = new JMenuItem("deleteNode");\r
+        menuitemadd = new JMenuItem("Add Node");\r
+        menuitemdel = new JMenuItem("Delete Node");\r
+        menuitemedit = new JMenuItem("Edit Node");\r
         popupmenu.add(menuitemadd);\r
         popupmenu.add(menuitemdel);\r
+        popupmenu.add(menuitemedit);\r
         menuitemadd.addActionListener(actionListener);\r
         menuitemdel.addActionListener(actionListener);\r
-        \r
-        addNode(rootNode, "1st");\r
-        addNode(rootNode, "2nd");\r
-       }\r
-       \r
-       private ModuleInfo mi;\r
-       private UI ui;\r
-       //private ModuleSurfaceAreaDocument msadoc;\r
-       \r
-       private JTree tree;\r
-       private DefaultMutableTreeNode rootNode;\r
-       private DefaultTreeModel treeModel;\r
-       private JMenuItem menuitemadd, menuitemdel;\r
-       \r
-       private JPopupMenu popupmenu;\r
-       private MouseAdapter mouseadapter = new MouseAdapter() {\r
-               public void mouseReleased(MouseEvent me) {\r
-                       if (me.getClickCount() == 1 && SwingUtilities.isRightMouseButton(me)) {\r
-                               tree.setSelectionPath(tree.getPathForLocation(me.getX(), me.getY()));\r
-                               popupmenu.show(tree, me.getX(), me.getY());\r
-                       }\r
-               }\r
-       };\r
-       private ActionListener actionListener = new ActionListener() {\r
-               public void actionPerformed(ActionEvent ae) {\r
-                       if (ae.getSource() == menuitemadd) {\r
-                               addNode();\r
-                       } else if (ae.getSource() == menuitemdel) {\r
-                               delNode();\r
-                       }\r
-               }\r
-       };\r
-       \r
-       private void delNode() {\r
-               treeModel.removeNodeFromParent((DefaultMutableTreeNode)(tree.getSelectionPath().getLastPathComponent()));\r
-       }\r
-       \r
-       private void addNode() {\r
-               addNode((DefaultMutableTreeNode)(tree.getSelectionPath().getLastPathComponent()), MigrationTool.ui.getInput("Input Node Name"));\r
-       }\r
-       \r
-       private void addNode(DefaultMutableTreeNode parentNode, Object child) {\r
+        menuitemedit.addActionListener(actionListener);\r
+\r
+        genDomTree(MigrationTool.ui.getFilepath("Select a msa file", JFileChooser.FILES_AND_DIRECTORIES));\r
+    }\r
+    \r
+    //private ModuleSurfaceAreaDocument msadoc;\r
+    \r
+    private JTree tree;\r
+    private DefaultMutableTreeNode rootNode;\r
+    private DefaultTreeModel treeModel;\r
+    private JMenuItem menuitemadd, menuitemdel, menuitemedit;\r
+    \r
+    private JPopupMenu popupmenu;\r
+    private MouseAdapter mouseadapter = new MouseAdapter() {\r
+        public void mouseReleased(MouseEvent me) {\r
+            if (me.getClickCount() == 1 && SwingUtilities.isRightMouseButton(me)) {\r
+                tree.setSelectionPath(tree.getPathForLocation(me.getX(), me.getY()));\r
+                popupmenu.show(tree, me.getX(), me.getY());\r
+            }\r
+        }\r
+    };\r
+    private ActionListener actionListener = new ActionListener() {\r
+        public void actionPerformed(ActionEvent ae) {\r
+            if (ae.getSource() == menuitemadd) {\r
+                addNode();\r
+            } else if (ae.getSource() == menuitemdel) {\r
+                delNode();\r
+            } else if (ae.getSource() == menuitemedit) {\r
+                editNode();\r
+            }\r
+        }\r
+    };\r
+    \r
+    private void editNode() {\r
+        DefaultMutableTreeNode node = (DefaultMutableTreeNode)(tree.getSelectionPath().getLastPathComponent());\r
+        Element element = (Element)node.getUserObject();\r
+        System.out.println(element.getTextContent());\r
+    }\r
+    \r
+    private void delNode() {\r
+        treeModel.removeNodeFromParent((DefaultMutableTreeNode)(tree.getSelectionPath().getLastPathComponent()));\r
+    }\r
+    \r
+    private void addNode() {\r
+        addNode((DefaultMutableTreeNode)(tree.getSelectionPath().getLastPathComponent()), MigrationTool.ui.getInput("Input Node Name"));\r
+    }\r
+    \r
+    private DefaultMutableTreeNode addNode(DefaultMutableTreeNode parentNode, Object child) {\r
         DefaultMutableTreeNode childNode = new DefaultMutableTreeNode(child);\r
         treeModel.insertNodeInto(childNode, parentNode, parentNode.getChildCount());\r
         tree.scrollPathToVisible(new TreePath(childNode.getPath()));\r
-       }\r
-       /*\r
-       public static void init(ModuleInfo mi, UI ui, ModuleSurfaceAreaDocument msadoc) throws Exception {\r
-               init(mi, ui);\r
-       }\r
-       */\r
-       public static void init(ModuleInfo mi, UI ui) throws Exception {\r
-       UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());\r
+        return childNode;\r
+    }\r
+\r
+    private final void handleNode(Node node, DefaultMutableTreeNode parentNode) {\r
+        DefaultMutableTreeNode curNode = null;\r
+        if (node.getNodeType() == Node.ELEMENT_NODE) {\r
+            System.out.println("elem");\r
+            curNode = addNode(parentNode, node);\r
+        } else if (node.getNodeType() == Node.DOCUMENT_NODE){\r
+            System.out.println("doc");\r
+            curNode = addNode(parentNode, "MsaDocum");            // can Docum be with Root Node?\r
+        }\r
+\r
+        NodeList nodelist = node.getChildNodes();\r
+        for (int i = 0; i < nodelist.getLength(); i++) {\r
+            handleNode(nodelist.item(i), curNode);\r
+        }\r
+    }\r
+    \r
+    private final void genDomTree(String filename) throws Exception {\r
+        DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();\r
+        Document document = builder.parse(filename);\r
+        handleNode(document, rootNode);\r
+    }\r
+    \r
+    public static final void init() throws Exception {\r
+        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());\r
 \r
-               JFrame frame = new JFrame("MsaTreeEditor");\r
-               frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);\r
+        JFrame frame = new JFrame("MsaTreeEditor");\r
+        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);\r
 \r
-               MsaTreeEditor mte = new MsaTreeEditor(mi, ui);\r
-               mte.setLayout(new GridBagLayout());\r
-               mte.setOpaque(true);\r
+        MsaTreeEditor mte = new MsaTreeEditor();\r
+        mte.setLayout(new GridBagLayout());\r
+        mte.setOpaque(true);\r
         frame.setContentPane(mte);\r
 \r
-               frame.pack();\r
-               frame.setVisible(true);\r
-       }\r
+        frame.pack();\r
+        frame.setVisible(true);\r
+    }\r
 }
\ No newline at end of file