1 package org
.tianocore
.migration
;
4 import java
.awt
.event
.*;
6 import javax
.swing
.tree
.*;
8 import org
.tianocore
.ModuleSurfaceAreaDocument
;
10 public class MsaTreeEditor
extends JPanel
{
12 * Define class Serial Version UID
14 private static final long serialVersionUID
= 3169905938472150649L;
16 MsaTreeEditor(ModuleInfo m, UI u, ModuleSurfaceAreaDocument md) {
21 //rootNode = msadoc.getDomNode();
22 rootNode = new DefaultMutableTreeNode("Root Node");
23 treeModel = new DefaultTreeModel(rootNode);
25 tree = new JTree(treeModel);
26 tree.setEditable(true);
27 tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
28 tree.setShowsRootHandles(false);
29 tree.addMouseListener(mouseadapter);
31 JScrollPane scrollPane = new JScrollPane(tree);
34 popupmenu = new JPopupMenu();
35 menuitemadd = new JMenuItem("addNode");
36 menuitemdel = new JMenuItem("deleteNode");
37 popupmenu.add(menuitemadd);
38 popupmenu.add(menuitemdel);
39 menuitemadd.addActionListener(actionListener);
40 menuitemdel.addActionListener(actionListener);
42 addNode(rootNode, "1st");
43 addNode(rootNode, "2nd");
46 MsaTreeEditor(ModuleInfo m
, UI u
) {
50 rootNode
= new DefaultMutableTreeNode("Root Node");
51 treeModel
= new DefaultTreeModel(rootNode
);
53 tree
= new JTree(treeModel
);
54 tree
.setEditable(true);
55 tree
.getSelectionModel().setSelectionMode(TreeSelectionModel
.SINGLE_TREE_SELECTION
);
56 tree
.setShowsRootHandles(false);
57 tree
.addMouseListener(mouseadapter
);
59 JScrollPane scrollPane
= new JScrollPane(tree
);
62 popupmenu
= new JPopupMenu();
63 menuitemadd
= new JMenuItem("addNode");
64 menuitemdel
= new JMenuItem("deleteNode");
65 popupmenu
.add(menuitemadd
);
66 popupmenu
.add(menuitemdel
);
67 menuitemadd
.addActionListener(actionListener
);
68 menuitemdel
.addActionListener(actionListener
);
70 addNode(rootNode
, "1st");
71 addNode(rootNode
, "2nd");
74 private ModuleInfo mi
;
76 //private ModuleSurfaceAreaDocument msadoc;
79 private DefaultMutableTreeNode rootNode
;
80 private DefaultTreeModel treeModel
;
81 private JMenuItem menuitemadd
, menuitemdel
;
83 private JPopupMenu popupmenu
;
84 private MouseAdapter mouseadapter
= new MouseAdapter() {
85 public void mouseReleased(MouseEvent me
) {
86 if (me
.getClickCount() == 1 && SwingUtilities
.isRightMouseButton(me
)) {
87 tree
.setSelectionPath(tree
.getPathForLocation(me
.getX(), me
.getY()));
88 popupmenu
.show(tree
, me
.getX(), me
.getY());
92 private ActionListener actionListener
= new ActionListener() {
93 public void actionPerformed(ActionEvent ae
) {
94 if (ae
.getSource() == menuitemadd
) {
96 } else if (ae
.getSource() == menuitemdel
) {
102 private void delNode() {
103 treeModel
.removeNodeFromParent((DefaultMutableTreeNode
)(tree
.getSelectionPath().getLastPathComponent()));
106 private void addNode() {
107 addNode((DefaultMutableTreeNode
)(tree
.getSelectionPath().getLastPathComponent()), ui
.getInput("Input Node Name"));
110 private void addNode(DefaultMutableTreeNode parentNode
, Object child
) {
111 DefaultMutableTreeNode childNode
= new DefaultMutableTreeNode(child
);
112 treeModel
.insertNodeInto(childNode
, parentNode
, parentNode
.getChildCount());
113 tree
.scrollPathToVisible(new TreePath(childNode
.getPath()));
116 public static void init(ModuleInfo mi, UI ui, ModuleSurfaceAreaDocument msadoc) throws Exception {
120 public static void init(ModuleInfo mi
, UI ui
) throws Exception
{
121 UIManager
.setLookAndFeel(UIManager
.getSystemLookAndFeelClassName());
123 JFrame frame
= new JFrame("MsaTreeEditor");
124 frame
.setDefaultCloseOperation(JFrame
.EXIT_ON_CLOSE
);
126 MsaTreeEditor mte
= new MsaTreeEditor(mi
, ui
);
127 mte
.setLayout(new GridBagLayout());
129 frame
.setContentPane(mte
);
132 frame
.setVisible(true);