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