1 package org
.tianocore
.migration
;
4 import java
.awt
.event
.*;
6 import javax
.swing
.tree
.*;
8 public class MsaTreeEditor
extends JPanel
{
10 * Define class Serial Version UID
12 private static final long serialVersionUID
= 3169905938472150649L;
14 MsaTreeEditor(ModuleInfo m, UI u, ModuleSurfaceAreaDocument md) {
19 //rootNode = msadoc.getDomNode();
20 rootNode = new DefaultMutableTreeNode("Root Node");
21 treeModel = new DefaultTreeModel(rootNode);
23 tree = new JTree(treeModel);
24 tree.setEditable(true);
25 tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
26 tree.setShowsRootHandles(false);
27 tree.addMouseListener(mouseadapter);
29 JScrollPane scrollPane = new JScrollPane(tree);
32 popupmenu = new JPopupMenu();
33 menuitemadd = new JMenuItem("addNode");
34 menuitemdel = new JMenuItem("deleteNode");
35 popupmenu.add(menuitemadd);
36 popupmenu.add(menuitemdel);
37 menuitemadd.addActionListener(actionListener);
38 menuitemdel.addActionListener(actionListener);
40 addNode(rootNode, "1st");
41 addNode(rootNode, "2nd");
45 rootNode
= new DefaultMutableTreeNode("Root Node");
46 treeModel
= new DefaultTreeModel(rootNode
);
48 tree
= new JTree(treeModel
);
49 tree
.setEditable(true);
50 tree
.getSelectionModel().setSelectionMode(TreeSelectionModel
.SINGLE_TREE_SELECTION
);
51 tree
.setShowsRootHandles(false);
52 tree
.addMouseListener(mouseadapter
);
54 JScrollPane scrollPane
= new JScrollPane(tree
);
57 popupmenu
= new JPopupMenu();
58 menuitemadd
= new JMenuItem("addNode");
59 menuitemdel
= new JMenuItem("deleteNode");
60 popupmenu
.add(menuitemadd
);
61 popupmenu
.add(menuitemdel
);
62 menuitemadd
.addActionListener(actionListener
);
63 menuitemdel
.addActionListener(actionListener
);
65 addNode(rootNode
, "1st");
66 addNode(rootNode
, "2nd");
69 //private ModuleSurfaceAreaDocument msadoc;
72 private DefaultMutableTreeNode rootNode
;
73 private DefaultTreeModel treeModel
;
74 private JMenuItem menuitemadd
, menuitemdel
;
76 private JPopupMenu popupmenu
;
77 private MouseAdapter mouseadapter
= new MouseAdapter() {
78 public void mouseReleased(MouseEvent me
) {
79 if (me
.getClickCount() == 1 && SwingUtilities
.isRightMouseButton(me
)) {
80 tree
.setSelectionPath(tree
.getPathForLocation(me
.getX(), me
.getY()));
81 popupmenu
.show(tree
, me
.getX(), me
.getY());
85 private ActionListener actionListener
= new ActionListener() {
86 public void actionPerformed(ActionEvent ae
) {
87 if (ae
.getSource() == menuitemadd
) {
89 } else if (ae
.getSource() == menuitemdel
) {
95 private void delNode() {
96 treeModel
.removeNodeFromParent((DefaultMutableTreeNode
)(tree
.getSelectionPath().getLastPathComponent()));
99 private void addNode() {
100 addNode((DefaultMutableTreeNode
)(tree
.getSelectionPath().getLastPathComponent()), MigrationTool
.ui
.getInput("Input Node Name"));
103 private void addNode(DefaultMutableTreeNode parentNode
, Object child
) {
104 DefaultMutableTreeNode childNode
= new DefaultMutableTreeNode(child
);
105 treeModel
.insertNodeInto(childNode
, parentNode
, parentNode
.getChildCount());
106 tree
.scrollPathToVisible(new TreePath(childNode
.getPath()));
109 public static void init(ModuleInfo mi, UI ui, ModuleSurfaceAreaDocument msadoc) throws Exception {
113 public static void init() throws Exception
{
114 UIManager
.setLookAndFeel(UIManager
.getSystemLookAndFeelClassName());
116 JFrame frame
= new JFrame("MsaTreeEditor");
117 frame
.setDefaultCloseOperation(JFrame
.EXIT_ON_CLOSE
);
119 MsaTreeEditor mte
= new MsaTreeEditor();
120 mte
.setLayout(new GridBagLayout());
122 frame
.setContentPane(mte
);
125 frame
.setVisible(true);