Dom test
authoralfred <alfred@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 1 Sep 2006 09:13:03 +0000 (09:13 +0000)
committeralfred <alfred@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 1 Sep 2006 09:13:03 +0000 (09:13 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1426 6f19259b-4bc3-4df7-8a09-765794883524

Tools/Source/MigrationTools/org/tianocore/migration/MsaTreeEditor.java

index 81870c09e545bc22d28715db22c1bc5e9101e6de..2223d22e91d6fde36824161d7e2fa6f1c0d4b605 100644 (file)
@@ -4,12 +4,16 @@ 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
+       private \r
 /*\r
        MsaTreeEditor(ModuleInfo m, UI u, ModuleSurfaceAreaDocument md) {\r
                mi = m;\r
@@ -41,7 +45,7 @@ public class MsaTreeEditor extends JPanel {
         addNode(rootNode, "2nd");\r
        }\r
 */\r
-       MsaTreeEditor() {\r
+       MsaTreeEditor() throws Exception {\r
         rootNode = new DefaultMutableTreeNode("Root Node");\r
         treeModel = new DefaultTreeModel(rootNode);\r
 \r
@@ -52,18 +56,21 @@ 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
+        menuitemedit.addActionListener(actionListener);\r
+\r
+               genDomTree(MigrationTool.ui.getFilepath("Select a msa file", JFileChooser.FILES_AND_DIRECTORIES));\r
        }\r
        \r
        //private ModuleSurfaceAreaDocument msadoc;\r
@@ -71,7 +78,7 @@ public class MsaTreeEditor extends JPanel {
        private JTree tree;\r
        private DefaultMutableTreeNode rootNode;\r
        private DefaultTreeModel treeModel;\r
-       private JMenuItem menuitemadd, menuitemdel;\r
+       private JMenuItem menuitemadd, menuitemdel, menuitemedit;\r
        \r
        private JPopupMenu popupmenu;\r
        private MouseAdapter mouseadapter = new MouseAdapter() {\r
@@ -88,10 +95,18 @@ public class MsaTreeEditor extends JPanel {
                                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
@@ -100,17 +115,36 @@ public class MsaTreeEditor extends JPanel {
                addNode((DefaultMutableTreeNode)(tree.getSelectionPath().getLastPathComponent()), MigrationTool.ui.getInput("Input Node Name"));\r
        }\r
        \r
-       private void addNode(DefaultMutableTreeNode parentNode, Object child) {\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
+        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
-       public static void init(ModuleInfo mi, UI ui, ModuleSurfaceAreaDocument msadoc) throws Exception {\r
-               init(mi, ui);\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 void init() throws Exception {\r
+       \r
+       public static final void init() throws Exception {\r
        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());\r
 \r
                JFrame frame = new JFrame("MsaTreeEditor");\r