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");
44 MsaTreeEditor(ModuleInfo m
, UI u
) {
48 rootNode
= new DefaultMutableTreeNode("Root Node");
49 treeModel
= new DefaultTreeModel(rootNode
);
51 tree
= new JTree(treeModel
);
52 tree
.setEditable(true);
53 tree
.getSelectionModel().setSelectionMode(TreeSelectionModel
.SINGLE_TREE_SELECTION
);
54 tree
.setShowsRootHandles(false);
55 tree
.addMouseListener(mouseadapter
);
57 JScrollPane scrollPane
= new JScrollPane(tree
);
60 popupmenu
= new JPopupMenu();
61 menuitemadd
= new JMenuItem("addNode");
62 menuitemdel
= new JMenuItem("deleteNode");
63 popupmenu
.add(menuitemadd
);
64 popupmenu
.add(menuitemdel
);
65 menuitemadd
.addActionListener(actionListener
);
66 menuitemdel
.addActionListener(actionListener
);
68 addNode(rootNode
, "1st");
69 addNode(rootNode
, "2nd");
72 private ModuleInfo mi
;
74 //private ModuleSurfaceAreaDocument msadoc;
77 private DefaultMutableTreeNode rootNode
;
78 private DefaultTreeModel treeModel
;
79 private JMenuItem menuitemadd
, menuitemdel
;
81 private JPopupMenu popupmenu
;
82 private MouseAdapter mouseadapter
= new MouseAdapter() {
83 public void mouseReleased(MouseEvent me
) {
84 if (me
.getClickCount() == 1 && SwingUtilities
.isRightMouseButton(me
)) {
85 tree
.setSelectionPath(tree
.getPathForLocation(me
.getX(), me
.getY()));
86 popupmenu
.show(tree
, me
.getX(), me
.getY());
90 private ActionListener actionListener
= new ActionListener() {
91 public void actionPerformed(ActionEvent ae
) {
92 if (ae
.getSource() == menuitemadd
) {
94 } else if (ae
.getSource() == menuitemdel
) {
100 private void delNode() {
101 treeModel
.removeNodeFromParent((DefaultMutableTreeNode
)(tree
.getSelectionPath().getLastPathComponent()));
104 private void addNode() {
105 addNode((DefaultMutableTreeNode
)(tree
.getSelectionPath().getLastPathComponent()), ModuleInfo
.ui
.getInput("Input Node Name"));
108 private void addNode(DefaultMutableTreeNode parentNode
, Object child
) {
109 DefaultMutableTreeNode childNode
= new DefaultMutableTreeNode(child
);
110 treeModel
.insertNodeInto(childNode
, parentNode
, parentNode
.getChildCount());
111 tree
.scrollPathToVisible(new TreePath(childNode
.getPath()));
114 public static void init(ModuleInfo mi, UI ui, ModuleSurfaceAreaDocument msadoc) throws Exception {
118 public static void init(ModuleInfo mi
, UI ui
) throws Exception
{
119 UIManager
.setLookAndFeel(UIManager
.getSystemLookAndFeelClassName());
121 JFrame frame
= new JFrame("MsaTreeEditor");
122 frame
.setDefaultCloseOperation(JFrame
.EXIT_ON_CLOSE
);
124 MsaTreeEditor mte
= new MsaTreeEditor(mi
, ui
);
125 mte
.setLayout(new GridBagLayout());
127 frame
.setContentPane(mte
);
130 frame
.setVisible(true);