]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/MigrationTools/org/tianocore/migration/MsaTreeEditor.java
change entry
[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
fed802b1 8import org.tianocore.ModuleSurfaceAreaDocument;\r
9\r
90503bad 10public class MsaTreeEditor extends JPanel {\r
609384c5 11 /**\r
12 * Define class Serial Version UID\r
13 */\r
14 private static final long serialVersionUID = 3169905938472150649L;\r
fed802b1 15/*\r
16 MsaTreeEditor(ModuleInfo m, UI u, ModuleSurfaceAreaDocument md) {\r
17 mi = m;\r
18 ui = u;\r
19 msadoc = md;\r
20 \r
21 //rootNode = msadoc.getDomNode();\r
22 rootNode = new DefaultMutableTreeNode("Root Node");\r
23 treeModel = new DefaultTreeModel(rootNode);\r
609384c5 24\r
fed802b1 25 tree = new JTree(treeModel);\r
26 tree.setEditable(true);\r
27 tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);\r
28 tree.setShowsRootHandles(false);\r
29 tree.addMouseListener(mouseadapter);\r
30\r
31 JScrollPane scrollPane = new JScrollPane(tree);\r
32 add(scrollPane);\r
33 \r
34 popupmenu = new JPopupMenu();\r
35 menuitemadd = new JMenuItem("addNode");\r
36 menuitemdel = new JMenuItem("deleteNode");\r
37 popupmenu.add(menuitemadd);\r
38 popupmenu.add(menuitemdel);\r
39 menuitemadd.addActionListener(actionListener);\r
40 menuitemdel.addActionListener(actionListener);\r
41 \r
42 addNode(rootNode, "1st");\r
43 addNode(rootNode, "2nd");\r
44 }\r
45*/\r
90503bad 46 MsaTreeEditor(ModuleInfo m, UI u) {\r
47 mi = m;\r
48 ui = u;\r
49 \r
50 rootNode = new DefaultMutableTreeNode("Root Node");\r
51 treeModel = new DefaultTreeModel(rootNode);\r
52\r
53 tree = new JTree(treeModel);\r
54 tree.setEditable(true);\r
55 tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);\r
56 tree.setShowsRootHandles(false);\r
57 tree.addMouseListener(mouseadapter);\r
58\r
59 JScrollPane scrollPane = new JScrollPane(tree);\r
60 add(scrollPane);\r
61 \r
62 popupmenu = new JPopupMenu();\r
fed802b1 63 menuitemadd = new JMenuItem("addNode");\r
64 menuitemdel = new JMenuItem("deleteNode");\r
90503bad 65 popupmenu.add(menuitemadd);\r
66 popupmenu.add(menuitemdel);\r
67 menuitemadd.addActionListener(actionListener);\r
68 menuitemdel.addActionListener(actionListener);\r
69 \r
70 addNode(rootNode, "1st");\r
71 addNode(rootNode, "2nd");\r
72 }\r
73 \r
74 private ModuleInfo mi;\r
75 private UI ui;\r
fed802b1 76 //private ModuleSurfaceAreaDocument msadoc;\r
90503bad 77 \r
78 private JTree tree;\r
79 private DefaultMutableTreeNode rootNode;\r
80 private DefaultTreeModel treeModel;\r
fed802b1 81 private JMenuItem menuitemadd, menuitemdel;\r
90503bad 82 \r
83 private JPopupMenu popupmenu;\r
84 private MouseAdapter mouseadapter = new MouseAdapter() {\r
85 public void mouseReleased(MouseEvent me) {\r
86 if (me.getClickCount() == 1 && SwingUtilities.isRightMouseButton(me)) {\r
87 tree.setSelectionPath(tree.getPathForLocation(me.getX(), me.getY()));\r
88 popupmenu.show(tree, me.getX(), me.getY());\r
89 }\r
90 }\r
91 };\r
92 private ActionListener actionListener = new ActionListener() {\r
93 public void actionPerformed(ActionEvent ae) {\r
fed802b1 94 if (ae.getSource() == menuitemadd) {\r
95 addNode();\r
96 } else if (ae.getSource() == menuitemdel) {\r
97 delNode();\r
98 }\r
90503bad 99 }\r
100 };\r
101 \r
fed802b1 102 private void delNode() {\r
103 treeModel.removeNodeFromParent((DefaultMutableTreeNode)(tree.getSelectionPath().getLastPathComponent()));\r
104 }\r
105 \r
106 private void addNode() {\r
90503bad 107 addNode((DefaultMutableTreeNode)(tree.getSelectionPath().getLastPathComponent()), ui.getInput("Input Node Name"));\r
90503bad 108 }\r
109 \r
fed802b1 110 private void addNode(DefaultMutableTreeNode parentNode, Object child) {\r
90503bad 111 DefaultMutableTreeNode childNode = new DefaultMutableTreeNode(child);\r
112 treeModel.insertNodeInto(childNode, parentNode, parentNode.getChildCount());\r
113 tree.scrollPathToVisible(new TreePath(childNode.getPath()));\r
114 }\r
fed802b1 115 /*\r
116 public static void init(ModuleInfo mi, UI ui, ModuleSurfaceAreaDocument msadoc) throws Exception {\r
117 init(mi, ui);\r
118 }\r
119 */\r
90503bad 120 public static void init(ModuleInfo mi, UI ui) throws Exception {\r
121 UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());\r
122\r
123 JFrame frame = new JFrame("MsaTreeEditor");\r
124 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);\r
125\r
126 MsaTreeEditor mte = new MsaTreeEditor(mi, ui);\r
127 mte.setLayout(new GridBagLayout());\r
128 mte.setOpaque(true);\r
129 frame.setContentPane(mte);\r
130\r
131 frame.pack();\r
132 frame.setVisible(true);\r
133 }\r
134}