package org.tianocore.migration;\r
\r
-import java.awt.*;\r
-import java.awt.event.*;\r
-import javax.swing.*;\r
-import javax.swing.tree.*;\r
-import javax.xml.parsers.*;\r
-import org.w3c.dom.*;\r
+import java.awt.GridBagLayout;\r
+import java.awt.event.ActionEvent;\r
+import java.awt.event.ActionListener;\r
+import java.awt.event.MouseAdapter;\r
+import java.awt.event.MouseEvent;\r
+\r
+import javax.swing.JFileChooser;\r
+import javax.swing.JFrame;\r
+import javax.swing.JMenuItem;\r
+import javax.swing.JPanel;\r
+import javax.swing.JPopupMenu;\r
+import javax.swing.JScrollPane;\r
+import javax.swing.JTree;\r
+import javax.swing.SwingUtilities;\r
+import javax.swing.UIManager;\r
+import javax.swing.tree.DefaultMutableTreeNode;\r
+import javax.swing.tree.DefaultTreeModel;\r
+import javax.swing.tree.TreePath;\r
+import javax.swing.tree.TreeSelectionModel;\r
+import javax.xml.parsers.DocumentBuilder;\r
+import javax.xml.parsers.DocumentBuilderFactory;\r
+\r
+import org.w3c.dom.Document;\r
+import org.w3c.dom.Element;\r
+import org.w3c.dom.Node;\r
+import org.w3c.dom.NodeList;\r
\r
public class MsaTreeEditor extends JPanel {\r
- /**\r
- * Define class Serial Version UID\r
- */\r
- private static final long serialVersionUID = 3169905938472150649L;\r
- \r
- MsaTreeEditor() throws Exception {\r
- rootNode = new DefaultMutableTreeNode("Root Node");\r
- treeModel = new DefaultTreeModel(rootNode);\r
-\r
- tree = new JTree(treeModel);\r
- tree.setEditable(true);\r
- tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);\r
- tree.setShowsRootHandles(false);\r
- 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("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
- 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
- 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
-\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
+ /**\r
+ * Define class Serial Version UID\r
+ */\r
+ private static final long serialVersionUID = 3169905938472150649L;\r
+\r
+ MsaTreeEditor() throws Exception {\r
+ rootNode = new DefaultMutableTreeNode("Root Node");\r
+ treeModel = new DefaultTreeModel(rootNode);\r
+\r
+ tree = new JTree(treeModel);\r
+ tree.setEditable(true);\r
+ tree.getSelectionModel().setSelectionMode(\r
+ TreeSelectionModel.SINGLE_TREE_SELECTION);\r
+ tree.setShowsRootHandles(false);\r
+ 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("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
+ menuitemedit.addActionListener(actionListener);\r
+\r
+ genDomTree(MigrationTool.ui.getFilepath("Select a msa file",\r
+ JFileChooser.FILES_AND_DIRECTORIES));\r
+ }\r
+\r
+ // private ModuleSurfaceAreaDocument msadoc;\r
+\r
+ private JTree tree;\r
+\r
+ private DefaultMutableTreeNode rootNode;\r
+\r
+ private DefaultTreeModel treeModel;\r
+\r
+ private JMenuItem menuitemadd, menuitemdel, menuitemedit;\r
+\r
+ private JPopupMenu popupmenu;\r
+\r
+ private MouseAdapter mouseadapter = new MouseAdapter() {\r
+ public void mouseReleased(MouseEvent me) {\r
+ if (me.getClickCount() == 1\r
+ && SwingUtilities.isRightMouseButton(me)) {\r
+ tree.setSelectionPath(tree.getPathForLocation(me.getX(), me\r
+ .getY()));\r
+ popupmenu.show(tree, me.getX(), me.getY());\r
+ }\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\r
+ .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\r
+ .getSelectionPath().getLastPathComponent()));\r
+ }\r
+\r
+ private void addNode() {\r
+ addNode((DefaultMutableTreeNode) (tree.getSelectionPath()\r
+ .getLastPathComponent()), MigrationTool.ui\r
+ .getInput("Input Node Name"));\r
+ }\r
+\r
+ private DefaultMutableTreeNode addNode(DefaultMutableTreeNode parentNode,\r
+ Object child) {\r
+ DefaultMutableTreeNode childNode = new DefaultMutableTreeNode(child);\r
+ treeModel.insertNodeInto(childNode, parentNode, parentNode\r
+ .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\r
+ // 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()\r
+ .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
+\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
}
\ No newline at end of file