]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/MigrationTools/org/tianocore/migration/MsaTreeEditor.java
Turn to Regex in ModuleReader.java
[mirror_edk2.git] / Tools / Source / MigrationTools / org / tianocore / migration / MsaTreeEditor.java
CommitLineData
90503bad 1package org.tianocore.migration;\r
2\r
3import java.awt.*;\r
4import java.awt.event.*;\r
5import javax.swing.*;\r
6import javax.swing.tree.*;\r
7\r
8public class MsaTreeEditor extends JPanel {\r
9 MsaTreeEditor(ModuleInfo m, UI u) {\r
10 mi = m;\r
11 ui = u;\r
12 \r
13 rootNode = new DefaultMutableTreeNode("Root Node");\r
14 treeModel = new DefaultTreeModel(rootNode);\r
15\r
16 tree = new JTree(treeModel);\r
17 tree.setEditable(true);\r
18 tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);\r
19 tree.setShowsRootHandles(false);\r
20 tree.addMouseListener(mouseadapter);\r
21\r
22 JScrollPane scrollPane = new JScrollPane(tree);\r
23 add(scrollPane);\r
24 \r
25 popupmenu = new JPopupMenu();\r
26 JMenuItem menuitemadd = new JMenuItem("addNode");\r
27 JMenuItem menuitemdel = new JMenuItem("deleteNode");\r
28 popupmenu.add(menuitemadd);\r
29 popupmenu.add(menuitemdel);\r
30 menuitemadd.addActionListener(actionListener);\r
31 menuitemdel.addActionListener(actionListener);\r
32 \r
33 addNode(rootNode, "1st");\r
34 addNode(rootNode, "2nd");\r
35 }\r
36 \r
37 private ModuleInfo mi;\r
38 private UI ui;\r
39 \r
40 private JTree tree;\r
41 private DefaultMutableTreeNode rootNode;\r
42 private DefaultTreeModel treeModel;\r
43 \r
44 private JPopupMenu popupmenu;\r
45 private MouseAdapter mouseadapter = new MouseAdapter() {\r
46 public void mouseReleased(MouseEvent me) {\r
47 if (me.getClickCount() == 1 && SwingUtilities.isRightMouseButton(me)) {\r
48 tree.setSelectionPath(tree.getPathForLocation(me.getX(), me.getY()));\r
49 popupmenu.show(tree, me.getX(), me.getY());\r
50 }\r
51 }\r
52 };\r
53 private ActionListener actionListener = new ActionListener() {\r
54 public void actionPerformed(ActionEvent ae) {\r
55 addNode();\r
56 }\r
57 };\r
58 \r
59 public void addNode() {\r
60 addNode((DefaultMutableTreeNode)(tree.getSelectionPath().getLastPathComponent()), ui.getInput("Input Node Name"));\r
61 System.out.println();\r
62 }\r
63 \r
64 public void addNode(DefaultMutableTreeNode parentNode, Object child) {\r
65 DefaultMutableTreeNode childNode = new DefaultMutableTreeNode(child);\r
66 treeModel.insertNodeInto(childNode, parentNode, parentNode.getChildCount());\r
67 tree.scrollPathToVisible(new TreePath(childNode.getPath()));\r
68 }\r
69\r
70 public static void init(ModuleInfo mi, UI ui) throws Exception {\r
71 UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());\r
72\r
73 JFrame frame = new JFrame("MsaTreeEditor");\r
74 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);\r
75\r
76 MsaTreeEditor mte = new MsaTreeEditor(mi, ui);\r
77 mte.setLayout(new GridBagLayout());\r
78 mte.setOpaque(true);\r
79 frame.setContentPane(mte);\r
80\r
81 frame.pack();\r
82 frame.setVisible(true);\r
83 }\r
84}