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